Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java或Apache POI将XLSX文件转换为XLSB_Java_Apache Poi - Fatal编程技术网

使用Java或Apache POI将XLSX文件转换为XLSB

使用Java或Apache POI将XLSX文件转换为XLSB,java,apache-poi,Java,Apache Poi,我正在使用ApachePOI库使用java代码创建xlsx文件。 不是新的要求,我需要创建包含大量数据的xlsx文件。所以我在考虑xlsb文件格式。但是我没有找到任何使用ApachePOI创建xlsb文件的方法。或以任何其他方式将xlsx文件格式转换为xlsb文件。 这里我发布了使用ApachePOI创建xlsx文件的代码 try { outputFile = File.createTempFile("Dept_Wise_Invoice_Details-"

我正在使用ApachePOI库使用java代码创建xlsx文件。 不是新的要求,我需要创建包含大量数据的xlsx文件。所以我在考虑xlsb文件格式。但是我没有找到任何使用ApachePOI创建xlsb文件的方法。或以任何其他方式将xlsx文件格式转换为xlsb文件。 这里我发布了使用ApachePOI创建xlsx文件的代码

try {
                    outputFile = File.createTempFile("Dept_Wise_Invoice_Details-", ".xlsx");
                    OutputStream out = null;
                    out = new FileOutputStream(outputFile);

                    @SuppressWarnings("resource")
                    SXSSFWorkbook wb = new SXSSFWorkbook(2000);
                    SXSSFSheet sheet = wb.createSheet("Sheet1") ;

                    //iterating r number of rows
                    SXSSFRow header = sheet.createRow(0);
                    for (int c=0;c < model.getColumnCount()-2; c++ ) //-2
                    {
                        SXSSFCell cell = header.createCell(c);
                        cell.setCellValue(model.getColumnName(c).toString());
                    }

                    for (int r=0;r <row1.size() ; r++ )
                    {

                    SXSSFRow row = sheet.createRow(r+1);

                    //iterating c number of columns
                    for (int c=0;c < model.getColumnCount()-2; c++ ) //-2
                    {
                    SXSSFCell cell = row.createCell(c);
                    try
                    {
                    cell.setCellValue(model.getValueAt(Integer.parseInt(row1.get(r).toString()), c).toString());
                    }
                    catch(Exception eee)
                    {
                        //eee.printStackTrace();
                        cell.setCellValue("");  
                    }
                    }
                    }
试试看{
outputFile=File.createTempFile(“部门发票详细信息-”,“.xlsx”);
OutputStream out=null;
out=新文件outputstream(outputFile);
@抑制警告(“资源”)
SXSSFWorkbook wb=新的SXSSFWorkbook(2000年);
SXSSFSheet sheet=wb.createSheet(“Sheet1”);
//迭代r行数
SXSSFRow标题=sheet.createRow(0);
对于(int c=0;c< MultCopyNo.No.T)(2;C++)//- 2
{
SXSSFCell cell=header.createCell(c);
cell.setCellValue(model.getColumnName(c.toString());
}

对于(int r=0;r)是否有任何外部方法(没有Apache poi)来达到我的要求?请帮助为什么需要
.xlsb
文件?您认为它给您带来了什么好处?(主要是它带来了额外的问题……)Apache POI不支持用于文本提取的.xlsb文件格式execpt。我想通过java应用程序将这些文件附加到outlook电子邮件。因此,我只想确保在任何外部方式(没有Apache POI)下,文件大小都较小为了达到我的要求?请帮助为什么您需要
.xlsb
文件?您认为它给您带来了什么好处?(主要是它带来了额外的问题……)Apache POI不支持用于文本提取的.xlsb文件格式execpt。我想通过java应用程序将这些文件附加到outlook电子邮件。因此,我只想确保文件大小更小