通过java将数据追加到xlsx文件中
我正在使用ApachePOI写入通过java将数据追加到xlsx文件中,java,apache-poi,Java,Apache Poi,我正在使用ApachePOI写入.xlsx文件。我可以写入.xlsx文件,但无法附加新内容。如何在.xlsx文件中添加新内容 我的代码是: public static void write(){ try { Workbook[] wbs = new Workbook[]{new XSSFWorkbook()}; Workbook workbook=wbs[0]; org.apache.poi.ss.usermodel.
.xlsx
文件。我可以写入.xlsx
文件,但无法附加新内容。如何在.xlsx文件中添加新内容
我的代码是:
public static void write(){
try {
Workbook[] wbs = new Workbook[]{new XSSFWorkbook()};
Workbook workbook=wbs[0];
org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet();
System.out.println(sheet.getSheetName());
Row row = sheet.createRow(2);
for(int i=0;i<10;i++){
Cell cell=row.createCell(i);
cell.setCellValue("Sun System");
}
FileOutputStream fout=new FileOutputStream("D:/Test.Xlsx");
workbook.write(fout);
fout.close();
} catch (Exception e) {
}
}
publicstaticvoidwrite(){
试试{
工作簿[]wbs=新工作簿[]{new XSSFWorkbook()};
工作簿=wbs[0];
org.apache.poi.ss.usermodel.Sheet Sheet=workbook.createSheet();
System.out.println(sheet.getSheetName());
Row Row=sheet.createRow(2);
对于(int i=0;i如果要追加,则应打开现有文件,而不是创建新文件,另请参见此stackoverflow问题:
你要做的第一件事:
使用Excel2007格式时,使用XSSF实现更明智,因为您使用过抽象实现。在使用任何实现时,请始终记住这一点
要附加到现有文件,您需要到达特定工作簿工作表中的行末尾。这可以通过以下方式实现:
int rows = sheet.getPhysicalNumberOfRows(); // or sheet.getLastRowNum();
之后,您可以使用XSSF-实现类创建新的单元格。有关更多信息,请参阅什么类型的内容?单元格?列?工作表?以及关于无法-由于错误/异常或您需要其他知识?