CTRL+V do Excel para o JTable

Saudações a todos. Desculpem se esta questão já tiver sido colocada. Preciso de uma solução para a partir de um recortar de dados numa planilha Excel, colar na planilha JTable. Já vi algumas rotinas, mas parecem antigas e algumas não funcionaram. Agradeço a força.

Já olhou esse post aqui?

A sequência de passos que você deve fazer é:

  1. Ter um objeto que implementa a interface ActionListener, que vai receber as chamadas para interpretar o copy e o paste.

  2. Registrar esse objeto na tabela para eventos de atalho de teclado, através do método através do método registerKeyboardAction.

  3. No objeto que implementa ActionListener, você vai implementar o método actionPerformed(ActionEvent e), de forma a buscar dentro do ActionEvent se aquele evento se trata de copy ou paste, e a partir daí decidir o que fazer

  4. No caso de paste, entende-se que se trata de dados copiados do Excel e colados ali. Você precisa entender o que o Excel faz quando você seleciona e copia células. Ali no post (bem velho), o cara fala que é uma String, que separa células na horizontal com \t e na vertical (quebras de linha) com \n. Por exemplo, imagine uma planilha no Excel com 4 células, 2 linhas e 2 colunas (um quadrado). Na primeira linha, há os números 1 e 2. Na segunda, há os números 3 e 4. Se você copiar essas 4 células, o resultado vai ser algo como 1\t2\n3\t4 escrito na clipboard. Pode ser que isso tenha mudado, você tem que pesquisar sobre isso.

  5. No caso do copy, você vai ler da tua tabela e gerar essa String que o Excel possa entender quando o usuário cola-la dentro do mesmo.

Seja copy ou paste, você precisa saber utilizar a clipboard do sistema operacional. É dela que você vai ler os dados copiados do Excel, e é nela que você vai escrever os dados da tabela do teu programa, para serem colados no Excel.

Valeu Ivbarbosa. Vou estudar o assunto. Observo que copiar os dados de um jTable para o Excel já é direto, não necessitando de nenhum tratamento especial. Já havia lido este material. Pareceu-me antigo e talvez haja algo mais recente e prático.