如何使用apache POI和PrimeFaces向现有的Excel工作簿中添加新工作表

喜欢

我正在尝试使用Primefaces和Java使用apache POI在现有的excel工作簿中创建一个新工作表,但到目前为止仍未成功。谁能告诉我它是如何完成的?我可以单张做

我为在一个xls文件中创建多张工作表而编写的以下代码,在这种情况下,我给出了以下条件:行数不大于65535,创建新工作表并对其进行迭代,但是显示错误

警告:无效的行号(65536)超出允许范围(0..65535)java.lang.IllegalArgumentException:无效的行号(65536)超出允许范围(0..65535)

我的代码是

 public void postProcessXLS(Object document) {
 HSSFWorkbook wb = (HSSFWorkbook) document;
    HSSFSheet sheet = wb.getSheetAt(0);
        HSSFFont font = wb.createFont();
        font.setFontName(HSSFFont.FONT_ARIAL);
        Iterator rowIterator = sheet.rowIterator();
        HSSFCellStyle cellStyle = wb.createCellStyle();
        cellStyle.setWrapText(false);
        cellStyle.setAlignment(HSSFCellStyle.ALIGN_GENERAL);
        cellStyle.setFont(font);
        System.out.println("Row number:"+sheet.getLastRowNum());
        while (rowIterator.hasNext()) 
        {
            System.out.println("Row number:"+sheet.getLastRowNum());
             //sheet.rowIterator().next().getRowNum();
             if(sheet.getLastRowNum() >= 65535) 
             {
                 String sheetName = "";
                 for(int i=0;i<searchResults.size();i++)
                 {
                     sheetName = "Document-" + i; 
                     HSSFSheet mySheet = wb.createSheet(sheetName); 
                     HSSFRow hssfRow = (HSSFRow) rowIterator.next();
                     Iterator iterator = hssfRow.cellIterator();
                     while (iterator.hasNext()) 
                     {
                         HSSFCell hssfCell = (HSSFCell) iterator.next();
                         hssfCell.setCellStyle(cellStyle);
                     }
                 }
             }
        }
  } 

在我的xhtml中

            <h:commandLink>
                <p:graphicImage value="resources/images/excel.png" />
                <p:dataExporter type="xls" target="nmeadata"
                    postProcessor="#{decodeNMEAMessageAction.postProcessNmeaXLS}"
                    fileName="decoded_all_nmeadata" />
            </h:commandLink>
            <h:commandLink>
                <p:graphicImage value="resources/images/excel.png" />
                <p:dataExporter type="xls" target="nmeadata"
                    postProcessor="#{decodeNMEAMessageAction.postProcessNmeaXLS}"
                    fileName="decoded_page_nmeadata" pageOnly="true" />
            </h:commandLink>

导入到Excel工作表的数据表

是否可以使用素面将数据导出到多个图纸。否则,请告诉我如何使用servlet来完成。

可怕的袋熊

代替

HSSFSheet sheet = wb.getSheetAt(0);

HSSFSheet sheet = wb.createSheet();

基本上你想要的是createSheet-> createRow-> createCell-> serCellValue

Javadocs很棒

http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/package-summary.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Pandas将新工作表保存到现有的Excel文件中?

apache POI在Excel工作簿中添加水印

使用xlrd和xlwt编辑现有的Excel工作簿和工作表

如何使用R中的Openxlsx包修改Excel工作簿中的现有工作表?

使用openpyxl将工作表追加到现有的Excel文件中

如何使用Java中的Apache POI将元数据写入Excel工作簿

使用Openpyxl和现有工作簿的Pandas Excel Writer

使用熊猫将工作表添加到现有的Excel文件中

如何使用Pandas ExcelWriter将空工作表添加到现有工作簿中

如何在现有工作簿中添加新工作表?

如何使用Apache POI在Excel中为每个工作表添加不同的颜色

如何在VBA中的新工作簿中的复制的工作表的名称中添加数字

无法使用熊猫将完整的数据透视表写入现有excel工作簿中的新工作表

如何将新工作表追加到现有Excel工作簿?

使用输入框添加新工作表,检查现有工作表名称和无效的工作表名称

使用Apache POI创建新工作表会删除所有现有工作表

如何读写现有的Excel工作表?

使用PowerShell将文本文件数据复制到现有的Excel工作簿中

如何使用python将现有工作表复制并粘贴到现有工作簿中?

使用 Epplus LoadFromCollection() 向现有 Excel 工作表添加数据会损坏 Excel 工作簿

每次合并新工作表时如何向Excel工作表添加计数器?

使用 openxml 和 C# 更新现有的 Excel 工作表

如何让 Pandas Excel writer 附加到工作簿中的现有工作表而不是创建新工作表?

使用现有宏在excel中创建新工作表

无法使用 openpyxl 覆盖现有的 Excel 工作表

使用日期时间作为工作表名称为现有工作簿创建新工作表

如何使用节点 js 中的 xlsx/sheetjs 包在现有的 xlsx 文件中创建新工作表?

如何使用 SXSSF Apache POI 向现有的大型 Excel 文件添加列?

如何使用python在现有的csv文件中创建一个新工作表并向其中添加一些数据