gpt4 book ai didi

java - 如何编写Excel文件

转载 作者:行者123 更新时间:2023-12-01 22:42:47 25 4
gpt4 key购买 nike

嗨,我想创建一个 Excel 文件,我需要从 java 应用程序添加数据,并且需要使用 java 应用程序再次查看这些数据。我使用 java jxl 库文件来完成此操作。我可以打开用 MS excel 创建的 excel 文件,它打开没有任何问题。但是我无法打开由我的 java 应用程序创建的 excel 文件。因为我认为原因是我的应用程序没有创建 excel 文件。它只是创建带有“.xls”的文件扩展名。无论如何我都可以在 Excel 中打开文件。

当我打开由我的应用程序创建的文件时,使用 ms excel 发生错误“文件格式和扩展名不匹配。等等”

但 MS Excel 无论如何都会打开该文件。

当我要保存它时,它显示“如果将其保存为文本制表符分隔,则工作簿中的某些功能可能会丢失”

如何解决这个问题

创建 xls 文件的代码。请帮助我完成此代码

try {
WritableWorkbook copy=Workbook.createWorkbook(new File("C:\\Users\\FxMax\\Desktop\\demo.xls"));//create file
WritableSheet Wsheet = copy.getSheet(0); //create sheet
TableModel mode=table.getModel(); //create table model for jtable
String s=mode.getValueAt(0, 0).toString();//get value at 0,0 cell @jtable

copy.write();
copy.close();
} catch (Exception e) {
}

这是用于读取文件的代码

JFileChooser choose = new JFileChooser();
choose.setFileSelectionMode(JFileChooser.FILES_ONLY);

FileNameExtensionFilter fileF = new FileNameExtensionFilter("Excel file", "xls");
choose.setFileFilter(fileF);

int res = choose.showOpenDialog(jFileChooser1);

if (res == JFileChooser.APPROVE_OPTION) {

//File file =choose.getSelectedFile(); //getFile
String filePath = choose.getSelectedFile().getAbsolutePath();//getFilePath
File f = new File(filePath);
//System.out.println(filePath);
Workbook w;
try {

w = Workbook.getWorkbook(f);
Sheet sheet = w.getSheet(0);

for (int i = 1; i < sheet.getRows(); i++) {

String cell0 = sheet.getCell(0, i).getContents();

String cell1 = sheet.getCell(1, i).getContents();

String f1 = sheet.getCell(2, i).getContents();
float cell2 = Float.valueOf(f1);
float cell3 = Float.valueOf(sheet.getCell(3, i).getContents());

Object[] cells = {cell0, cell1, cell2, cell3,};
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();
model.addRow(cells);
}
} catch (Exception e) {
}

} else {

}

}

最佳答案

如果您使用poi,那就更容易了。

将 poi 依赖项添加到您的 pom

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10-FINAL</version>
</dependency>

并像这样使用它:

...
...
int rowNum = 0;
int colNum = 0;
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("sheetname");
Row row = sheet.createRow(rowNum++);
row.createCell(colNum++).setCellValue("your value");
...
...
FileOutputStream fileOut = new FileOutputStream("your excel (xlsx) file name");
workbook.write(fileOut);
fileOut.close;

阅读是类似的。检查 poi 文档。

关于java - 如何编写Excel文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25843178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com