Exportar dados para o Excel em Java

Você pode exportar dados facilmente para o Microsoft Excel de várias fontes disponíveis, como JSON e CSV. Como desenvolvedor Java, você pode exportar dados de Arrays, Lista de objetos, JSON e CSV para documentos do Excel programaticamente. Neste artigo, você aprenderá como exportar dados para o Excel usando Java.

Os seguintes tópicos são discutidos/abordados neste artigo:

API Java para exportar dados

Para exportar dados para o Excel, usarei Aspose.Cells for Java API. É uma poderosa API de manipulação de planilhas que permite criar, editar ou converter arquivos do Excel em aplicativos Java. A API permite que você execute recursos de automação do Excel programaticamente sem precisar de um aplicativo Microsoft Excel.

Você pode baixar o JAR da API ou simplesmente adicionar a seguinte configuração pom.xml em seu aplicativo Java baseado em Maven para experimentar os exemplos de código mencionados abaixo.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>21.8</version>
</dependency>

Exportar matriz para Excel em Java

Você pode exportar facilmente dados de uma matriz unidimensional ou bidimensional para um documento do Excel. A matriz pode ser de um tipo de referência ou de um tipo de valor. Você pode exportar dados de uma matriz para o Excel seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe Workbook
  • Obter planilha em uma instância da classe Worksheet
  • Crie uma matriz contendo valores de string
  • Chame o método importArray() com o array
  • Salve o arquivo de saída chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como exportar uma matriz de strings para o Excel usando Java.

// Inicializar um objeto Workbook
Workbook workbook = new Workbook();

// Obtendo a referência da planilha
Worksheet worksheet = workbook.getWorksheets().get(0);

// Criando um array contendo nomes como valores de string
String[] names = new String[] { "Laurence Chen", "Roman Korchagin", "Kyle Huang" };

// Exportando a matriz de nomes para a primeira linha e primeira coluna verticalmente
worksheet.getCells().importArray(names, 0, 0, true);

// Salvando o arquivo Excel
workbook.save("C:\\Files\\output.xlsx");
Exportar matriz para Excel em Java

Exportar matriz para Excel em Java

A classe Workbook da API é a classe principal para criar uma planilha do Excel. Ele fornece funcionalidade para abrir e salvar arquivos nativos do Excel. O método save() desta classe é usado para salvar o arquivo de saída no caminho de arquivo especificado.

A classe Worksheet representa uma única planilha e fornece funcionalidade para trabalhar com células e linhas.

O método importArray() da classe Cells exporta um array de strings para uma planilha. Ele recebe os seguintes parâmetros de entrada:

  • stringArray: A matriz de valores de String
  • firstRow: o número da linha da primeira célula para exportar
  • firstColumn: O número da coluna da primeira célula para exportar
  • isVertical: especifica se os dados devem ser exportados verticalmente ou horizontalmente

A API também fornece as versões sobrecarregadas do método importArray() para exportar uma matriz de inteiros ou duplos para uma planilha.

Exportar matriz bidimensional para o Excel

Da mesma forma, você pode exportar uma matriz bidimensional para um arquivo do Excel. O exemplo de código a seguir mostra como exportar uma matriz bidimensional para um arquivo do Excel em Java.

// Inicializar um objeto Workbook
Workbook workbook = new Workbook();

// Obtendo a referência da planilha
Worksheet worksheet = workbook.getWorksheets().get(0);

// Criando uma matriz bidimensional de inteiros
int[][] array2D = { 
  { 1, 2 }, 
  { 3, 4 }, 
  { 5, 6 }, 
  { 7, 8 } 
};

// Exportando a matriz de nomes para a primeira linha e primeira coluna verticalmente
worksheet.getCells().importArray(array2D, 0, 0);

// Salvando o arquivo Excel
workbook.save("C:\\Files\\output.xlsx");
Exportar matriz bidimensional para o Excel

Exportar matriz bidimensional para o Excel

A classe Cells fornece o método importArray() para exportar um array bidimensional de inteiros para uma planilha. A API também fornece as versões sobrecarregadas desse método para exportar uma matriz bidimensional de strings ou duplas em uma planilha.

Exportar ArrayList para Excel em Java

Você pode exportar dados de um ArrayList para o Excel seguindo as etapas mencionadas abaixo:

  • Crie uma instância da classe Workbook
  • Obter planilha em uma instância da classe Worksheet
  • Crie uma lista de matrizes contendo valores de string
  • Chame o método importArrayList() com a lista de arrays
  • Salve o arquivo de saída chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como exportar um ArrayList para o Excel em Java.

// Inicializar um objeto Workbook
Workbook workbook = new Workbook();

// Obtendo a referência da planilha
Worksheet worksheet = workbook.getWorksheets().get(0);

// Instanciando um objeto ArrayList
ArrayList<String> list = new ArrayList<String>();

// Adicione alguns nomes à lista como valores de string
list.add("Laurence Chen");
list.add("Roman Korchagin");
list.add("Kyle Huang");
list.add("Tommy Wang");

// Exportando o conteúdo de ArrayList verticalmente na primeira linha e primeira coluna da planilha. 
worksheet.getCells().importArrayList(list, 0, 0, true);

// Salvando o arquivo Excel
workbook.save("C:\\Files\\Output.xlsx");
Exportar lista de matrizes para Excel em Java

Exportar ArrayList para Excel em Java

O método importArrayList() da classe Cells exporta um ArrayList de dados para uma planilha. São necessários quatro parâmetros, incluindo o ArrayList de dados. Os outros parâmetros são firstRow, firstColumn e isVertical.

Exportar coleção de objetos personalizados para Excel em Java

Você pode exportar dados de uma coleção de objetos personalizados para o Excel seguindo as etapas mencionadas abaixo:

  • Crie uma instância da classe Workbook
  • Obter planilha em uma instância da classe Worksheet
  • Criar uma lista de matrizes de objetos personalizados
  • Chame o método importCustomObjects() com a lista de arrays
  • Salve o arquivo de saída chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como exportar uma coleção de objetos personalizados para o Excel em Java.

// Inicializar uma nova pasta de trabalho
Workbook book = new Workbook();

// Obtendo a referência da planilha
Worksheet sheet = book.getWorksheets().get(0);

// Definir um ArrayList of Persons
List<Person> list = new ArrayList<Person>();

list.add(new Person("Mike", 25, "Software Engineer"));
list.add(new Person("Steve", 30, "Doctor"));
list.add(new Person("Billy", 35, "Teacher"));

// Escolhemos apenas as colunas Nome e Idade, não todas, para exportar para a planilha         
sheet.getCells().importCustomObjects((Collection)list,
    new String[] { "Name", "Age" }, // propertyNames
    true, // isPropertyNameShown
    0, // firstRow
    0, // firstColumn
    list.size(), // Number of objects to be exported
    true, // insertRows
    null, // dateFormatString
    false); // convertStringToNumber

// Salve o arquivo Excel
book.save("C:\\Files\\Output.xlsx");
Coleção de objetos personalizados para Excel em Java

Coleção de objetos personalizados para Excel em Java

O método importCustomObjects() da classe Cells exporta uma lista de objetos personalizados e usa os seguintes parâmetros. A API também fornece a versão sobrecarregada desse método que usa menos parâmetros.

  • list: A coleção de objetos personalizados
  • propertyName: Especifique o nome de uma propriedade específica a ser exportada. Se for nulo, exportará todas as propriedades do objeto
  • isPropertyNameShown: Indica se o nome da propriedade será exportado para a primeira linha
  • firstRow: o número da linha da primeira célula a ser exportada
  • firstColumn: o número da coluna da primeira célula a ser exportada
  • rowNumber: Número de linhas a serem exportadas
  • insertRows: indica se linhas extras são adicionadas para ajustar os dados
  • dataFormatString: string de formato de data para células
  • convertStringToNumber: Indica se este método tentará converter string em número.

Exportar dados para o Excel com células mescladas em Java

Você pode exportar dados de uma coleção de objetos para uma planilha contendo células mescladas seguindo as etapas mencionadas abaixo:

  • Crie uma instância da classe Workbook with template file path
  • Obter planilha em uma instância da classe Worksheet
  • Criar uma lista de array de objetos
  • Crie uma instância da classe ImportTableOptions
  • Chame o método importCustomObjects() com a lista de arrays
  • Salve o arquivo de saída chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como exportar uma coleção de objetos personalizados para uma planilha do Excel com células mescladas em Java.

// Abrindo uma pasta de trabalho existente.
Workbook workbook = new Workbook("C:\\Files\\SampleMergedTemplate.xlsx");

// Obtendo a referência da planilha
Worksheet sheet = workbook.getWorksheets().get(0);

// Instanciando um objeto ArrayList
List<Product> productList = new ArrayList<Product>();

// Criando uma coleção de produtos
for (int i = 0; i < 3; i++)
{
  Product product = new Product(i, "Product - " + i);
    productList.add(product);
}

// Definir opções de importação de tabela
ImportTableOptions tableOptions = new ImportTableOptions();

// Defina a propriedade CheckMergedCells como true
tableOptions.setCheckMergedCells(true);
tableOptions.setFieldNameShown(false);

// Exportar dados para o modelo do Excel (na segunda linha, primeira coluna)           
sheet.getCells().importCustomObjects((Collection)productList, 1, 0, tableOptions);

// Salve o arquivo Excel
workbook.save("C:\\Files\\Output.xlsx", SaveFormat.XLSX);
Exportar dados para o Excel com células mescladas em Java

Exportar dados para o Excel com células mescladas em Java

A classe ImportTableOptions fornece várias opções para exportar dados para células. O setCheckMergedCells indica se a verificação de células mescladas. A propriedade setFieldNameShown indica se o nome do campo deve ser exportado ou não.

Copie linhas e colunas de um arquivo do Excel para outro em Java

Você pode copiar facilmente linhas e colunas de um arquivo do Excel para outro arquivo programaticamente seguindo as etapas mencionadas abaixo:

  • Crie uma instância da classe Workbook with source workbook input file
  • Crie uma instância da classe Workbook for destination workbook
  • Obtenha planilhas de origem e destino em instâncias separadas da classe Worksheet
  • Chame o método copyRows() da planilha de destino com as células da planilha de origem
  • Salve o arquivo de saída da pasta de trabalho de destino chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como copiar linhas e colunas de um arquivo do Excel para outro usando Java.

// Abra o arquivo excel de origem.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Instancie o arquivo excel de destino.
Workbook destWorkbook = new Workbook();

// Obtenha a primeira planilha da pasta de trabalho de origem.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Obtenha a primeira planilha da pasta de trabalho de destino.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copie todas as linhas da primeira planilha da pasta de trabalho de origem para
// a primeira planilha da pasta de trabalho de destino.
desWorksheet.getCells().copyRows(srcWorksheet.getCells(), 0, 0, srcWorksheet.getCells().getMaxDisplayRange().getRowCount());

// Salve o arquivo excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");	
Copie linhas e colunas de um arquivo do Excel para outro em Java

Copie linhas e colunas de um arquivo do Excel para outro em Java

Você pode copiar linhas específicas de um arquivo do Excel para outro. O exemplo de código a seguir mostra como copiar linhas específicas de um arquivo do Excel para outro usando Java.

// Abra o arquivo excel de origem.
Workbook srcWorkbook = new Workbook("C:\\Files\\Source_Workbook.xlsx");

// Instancie o arquivo excel de destino.
Workbook destWorkbook = new Workbook();

// Obtenha a primeira planilha da pasta de trabalho de origem.
Worksheet srcWorksheet = srcWorkbook.getWorksheets().get(0);

// Obtenha a primeira planilha da pasta de trabalho de destino.
Worksheet desWorksheet = destWorkbook.getWorksheets().get(0);

// Copie a segunda linha da pasta de trabalho de origem para a primeira linha da pasta de trabalho de destino.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 1, 0);

// Copie a quarta linha da pasta de trabalho de origem para a segunda linha da pasta de trabalho de destino.
desWorksheet.getCells().copyRow(srcWorksheet.getCells(), 3, 1);

// Salve o arquivo excel.
destWorkbook.save("C:\\Files\\Destination_Workbook.xlsx");
Copie linhas e colunas específicas de um arquivo do Excel para outro em Java

Copie linhas e colunas específicas de um arquivo do Excel para outro em Java

O método copyRows() copia dados e formatos de linhas inteiras. São necessárias as células da planilha de origem para copiar como parâmetros de entrada junto com o índice da linha de origem, o índice da linha de destino e o número da linha copiada. A API também fornece as versões sobrecarregadas desse método para copiar linhas com CopyOptions e PasteOptions.

Da mesma forma, você pode copiar dados de colunas de um documento do Microsoft Excel para outro usando os métodos copyColumn() ou copyColumns().

Exportar dados JSON para o Excel em Java

Você pode exportar facilmente dados de um arquivo JSON para o Excel seguindo as etapas mencionadas abaixo:

  • Crie uma instância da classe Workbook
  • Obter planilha em uma instância da classe Worksheet
  • Leia o arquivo JSON
  • Crie uma instância da classe CellsFactory
  • Inicie o estilo chamando o método createStyle()
  • Defina várias propriedades de estilo, como alinhamento horizontal, cor da fonte, etc.
  • Crie uma instância da classe JsonLayoutOptions
  • Definir o estilo do título com o objeto de estilo
  • Definir array como propriedade da tabela para true
  • Chame o método JsonUtility.importData() com a entrada JSON e JsonLayoutOptions
  • Salve o arquivo de saída chamando o método save() da classe Workbook

O exemplo de código a seguir mostra como exportar dados de um arquivo JSON para o Excel usando Java.

// Instanciando um objeto Workbook
Workbook workbook = new Workbook();
Worksheet worksheet = workbook.getWorksheets().get(0);

// Ler arquivo JSON
File file = new File("C:\\Files\\sample.json");
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
    String jsonInput = "";
    String tempString;
    while ((tempString = bufferedReader.readLine()) != null) {
      jsonInput = jsonInput + tempString; 
    }
    bufferedReader.close();

// Definir estilos
CellsFactory factory = new CellsFactory();
Style style = factory.createStyle();
style.setHorizontalAlignment(TextAlignmentType.CENTER);
style.getFont().setColor(Color.getCyan());
style.getFont().setBold(true);

// Definir JsonLayoutOptions
JsonLayoutOptions options = new JsonLayoutOptions();
options.setTitleStyle(style);
options.setArrayAsTable(true);

// Exportar dados JSON
JsonUtility.importData(jsonInput, worksheet.getCells(), 0, 0, options);

// Salvar arquivo Excel
workbook.save("C:\\Files\\Output.xlsx");
{
  "quiz": {
    "sport": {
      "q1": {
        "question": "Which one is correct team name in NBA?",
        "answer": "Huston Rocket"
      }
    },
    "maths": {
      "q1": {
        "question": "5 + 7 = ?",
        "answer": "12"
      },
      "q2": {
        "question": "12 - 8 = ?",
        "answer": "4"
      }
    }
  }
}
Exportar dados JSON para o Excel em Java

Exportar dados JSON para o Excel em Java

A classe CellsFactory instancia classes do modelo Cells. O método createStyle() desta classe cria um novo objeto de estilo da classe Style. A classe Style permite definir o estilo de exibição do documento Excel, como fonte, cor, alinhamento, borda, etc.

A classe JsonLayoutOptions fornece as opções do tipo de layout JSON. O método setTitleStyle desta classe é usado para definir o estilo definido do título. O método setArrayAsTable permite processar Array como uma tabela.

A API fornece a classe JsonUtility para processar o JSON. O método importData() dessa classe exporta a string JSON e usa os seguintes parâmetros:

  • json: a string JSON
  • células: as células
  • linha: o índice da linha
  • coluna: o índice da coluna
  • opção: As opções para exportar a string JSON

Obter dados CSV no Excel usando Java

Você pode exportar dados de um arquivo CSV para o Excel seguindo as etapas simples mencionadas abaixo:

  • Crie uma instância da classe LoadOptions com LoadFormat
  • Crie uma instância da classe Workbook with CSV file path and LoadOptions object
  • Chame o método save() da classe Workbook e salve o arquivo de saída

O exemplo de código a seguir mostra como exportar dados de um arquivo CSV para o Excel usando Java.

// Inicialize LoadOptions com CSV LoadFormat.
LoadOptions loadOptions = new LoadOptions(LoadFormat.CSV);

// Abra o arquivo CSV como um objeto Workbook
Workbook workbook = new Workbook("C:\\Files\\Sample.csv", loadOptions);

// Salve o arquivo como um documento do Excel
workbook.save("C:\\Files\\Output.xlsx");
id,language,edition,author,streetAddress,city,state,postalCode
01,Java,third,Herbert Schildt,126,San Jone,CA,394221
02,C++,second,EAAAA,126,San Jone,CA,394221
03,.Net,second,E.Balagurusamy,126,San Jone,CA,394221
Exportar dados CSV para Excel em Java

Exportar dados CSV para Excel em Java

A classe LoadOptions da API fornece opções para carregar o arquivo. A classe LoadFormat contém constantes que representam os formatos do arquivo de carregamento.

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como exportar dados para o Excel em Java. Você também aprendeu a exportar dados de Arrays, JSON ou arquivos CSV para o Excel programaticamente. Além disso, você aprendeu a copiar linhas e colunas de um arquivo do Excel para outro usando Java. Você pode aprender mais sobre Aspose.Cells para API Java usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também

perguntas frequentes

Como exportar dados para um arquivo XLSX em Java? Você pode exportar facilmente dados de Arrays, Coleção de Objetos, JSON e CSV para um arquivo XLSX usando a API Aspose.Cells for Java de fácil integração em seu aplicativo Java.

Como exporto dados de JSON para Excel? A API Aspose.Cells fornece JsonUtility para exportar dados de um arquivo JSON para o Excel em Java. Você pode encontrar etapas simples na seção Exportar dados JSON para Excel em Java.

Como exporto dados de CSV para Excel em Java? Você pode simplesmente carregar um arquivo CSV e salvá-lo como XLSX usando a API Aspose.Cells. Você pode encontrar etapas simples na seção Obter dados CSV no Excel usando Java.