Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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 使用JExel API复制excel工作表时出错_Java_Jxl_Jexcelapi - Fatal编程技术网

Java 使用JExel API复制excel工作表时出错

Java 使用JExel API复制excel工作表时出错,java,jxl,jexcelapi,Java,Jxl,Jexcelapi,我正在使用Jetcel(2.6.10),我想复制工作表。我想这样创造 打开现有Excel文件(预创建为模板,无需添加样式和布局) 更新或插入必填字段 将其作为ByteArrayOutPutStream返回以供下载(用户可以下载该excel文件) 我的Excel文件可能包含一个或多个具有动态工作表计数的工作表。我不想创建很多模板文件。我想复制模板并在这些复制的模板上插入数据。但是当我复制它时,我遇到了麻烦。复制的图纸格式错误,我的意思是它们的边框样式错误。除此之外,其他人都很好。任何建议都将被采纳

我正在使用Jetcel(2.6.10),我想复制工作表。我想这样创造

  • 打开现有Excel文件(预创建为模板,无需添加样式和布局)
  • 更新或插入必填字段
  • 将其作为ByteArrayOutPutStream返回以供下载(用户可以下载该excel文件)
  • 我的Excel文件可能包含一个或多个具有动态工作表计数的工作表。我不想创建很多模板文件。我想复制模板并在这些复制的模板上插入数据。但是当我复制它时,我遇到了麻烦。复制的图纸格式错误,我的意思是它们的边框样式错误。除此之外,其他人都很好。任何建议都将被采纳。 这是我的密码

                WorkbookSettings wsWrite = new WorkbookSettings();
                wsWrite.setEncoding("UTF-8");
                WorkbookSettings wsRead = new WorkbookSettings();
                wsRead.setEncoding("UTF-8");
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                WritableWorkbook workBook = Workbook.createWorkbook(baos,
                        Workbook.getWorkbook(new File(templateDir + "/shipping_template.xls"), wsRead), wsWrite);
                for (int i = list.size() - 1; i > 0; i--) {
                    workBook.copySheet("S1", "S" + (i + 1), 2);
                }
                workBook.write();
                baos.close();
                workBook.close();
    
    我也尝试过使用WorkBook.Import()方法,如下所示

                Workbook readableWorkbook = Workbook.getWorkbook(new File(templateDir + "/shipping_template.xls"),wsRead);
                WritableWorkbook writableWorkbook = Workbook.createWorkbook(baos, readableWorkbook, wsWrite);
                for (int i = vehicleList.size() - 1; i > 0; i--) {
                    writableWorkbook.importSheet("S" + (i + 1), 2, readableWorkbook.getSheet(1));
                }
    

    它还可以得到精确的数据,合并区域,但不合并右边框!我还是有麻烦

    谢谢你耐心地阅读我的问题!复制方法不能在JExcel(2.6.12)中使用,因为它仍然存在缺陷。我认为这可能是JExcel的不完整部分。