Tag: jxl

修改包含元数据的Excel工作表 – 如何避免不必要的警告?

我已经得到一个Excel工作表,我必须填写,所以我使用JExcel来为我做。 然而,当我使用JExcel来填充一个单元格时,它可以工作,但是我得到了一大堆不必要的警告,这些警告滞后于一切(我假设这是因为Excel文件中包含的所有元数据)。 有谁知道我怎样才能避免这些警告,而不删除元数据? (我需要保留元数据,因为我认为parsing另一端填充的Excel工作表很重要) 非常感谢您的帮助! public static void main(String args[]){ Workbook workbook; try{ workbook = Workbook.getWorkbook(new File("Test.xls")); WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"), workbook); WritableSheet sheet1 = copy.getSheet(0); Label label = new Label(4,5, "PO1234355"); sheet1.addCell(label); copy.write(); copy.close(); } catch(Exception e){ System.out.println("Could not get workbook. Error: " + e.toString()); } } 这些是我得到的疯狂的警告: Warning: Cannot read name ranges […]

java.lang.ClassNotFoundException:jxl.read.biff.BiffException

在我的J2EE Web项目中,我有一个简单的JSP(HomeScreen.jsp)和一个servlet类(HomeScreenServlet.java)。 这个类正在调用另一个类(PDFAwt)的非静态方法(PDFAwt1),而这个类通常会调用很多不同类的其他方法。 当我尝试创buildPDFAwt的对象来调用PDFAwt1()时 ,我得到一个exception: java.lang.ClassNotFoundException: jxl.read.biff.BiffException at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1360) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206) … 这里是PDFAwt1()的一个小预览 CreateExcelFile cef = new CreateExcelFile(); ImageConversion.setupPDFToPNG(ReferencePath); ImageConversion.setupPDFToPNG(NewPath); File folder = new File(ReferencePath + "/png"); File[] f = folder.listFiles(); File folder1 = new File(NewPath + "/png"); File[] f1 = folder1.listFiles(); … CreateExcelFile() import jxl.Workbook; import jxl.format.Colour; … public class CreateExcelFile { public CreateExcelFile() […]

JXL命名的区域公式显示不正确的值

我正在使用JXL编写Excel报告。 我需要使用命名区域的报告,并有基于他们的公式。 但是,加载Excel文件时,显示的值不正确。 如果我点击单元格,然后按回车键,数值就会改变,并且是正确的。 我无法弄清楚如何使负载上的值正确显示。 有没有人知道一种方法来强制Excel重新评估,或为公式提供默认值? 以下是我的代码的简化版本: excelWorkbook.addNameArea("NamedArea", excelSheet, column1, row1, column2, row2); Formula formula = new Formula(columnNumber, rowNumber, "COUNT(NamedArea)"); excelSheet.addCell(formula);

在打开一个与Java的Excel文件我有这个错误:警告:使用本地非内build名称

当我尝试打开一个Excel文件,我有这个错误消息。 警告:使用本地非内build名称 我的Excel文件文件包含超过1600行,如果我尝试相同的代码,并打开一个小的Excel文件,它的工作。 告诉我为什么? 我用JXL谢谢

访问使用Java创build的Excel文件的权限

我正在创build一个Excel文件,它应该是只读的。 为此,我使用: (sheetName).getSettings().setProtected(true); 每添加一张新纸张。 只有拥有pipe理员权限的用户才能完全访问该文件,因此在确认用户具有pipe理员权限后,我可以: (workbookName).getSheet(0).getSettings().setProtected(false); 拥有pipe理员权限的用户打开文件后,它不再是只读的,直到普通用户向其中添加更多内容为止 – .getSettings().setProtected(true); 再次。 换句话说,有人可以在pipe理员访问之后和非pipe理员之前更改文件。 我不知道该怎么办,也许你可以帮我一把吗? – 编辑 – 用户正在向excel文件添加数据,用信息文件填充单元格 – 读取工作簿,复制,添加一些信息,编写和closures工作簿。 非pipe理员用户可以直接打开它,看看他们添加了什么,或者看看其他用户添加了什么,但他们不应该能够改变文件中的任何东西。 这是一个类似向导的应用程序,要求用户input数据,然后将单元格添加到文件中。 这里是添加数据的一种方法。 该文件收集用户的个人信息。 该应用程序只用于添加数据,而不是访问它。 用户只能通过双击输出直接访问文件,只能查看数据。 pipe理员可以更改文件,其他用户不应该能够这样做。

读取Excel文件并跳过空行而不是空列

我希望读取一个Excel文件并跳过空行。 我的代码跳过空单元格,但它也跳过空列。 我怎样才能跳过空行,但保持空列? 我正在使用JXL Java。 for (int i = 0; i < sheet.getRows(); i++) { for (int j = 0; j < sheet.getColumns(); j++) { Cell cell = sheet.getCell(j, i); String con = cell.getContents(); if (con != null && con.length() != 0) { System.out.print(con); System.out.print("|"); } else { continue; } } }

Jexcel公式计算错误

我已经创build了一个工作表, out.xls其单元格D6 = D5 * 2和D5设置为1.我的问题是,当我插入一个值到D5 JXL,D6从来没有计算。 D6只是保持它在Excel中插入1到D5时最初计算的值。 注意:我有一个更大的编程问题,我试图解决,这只是一个非常缩小的版本,以减less错误。 这是我第一次使用Jexcel,去年我只学了java,所以任何帮助,将不胜感激。 我昨天花了6个小时试图在网上find答案,但无济于事。 输出附在代码下面 代码:(留下主要和import) WorkbookSettings custom= new WorkbookSettings(); custom.setRationalization(true); custom.setRefreshAll(true); custom.setUseTemporaryFileDuringWrite(true); Workbook workbook = Workbook.getWorkbook(new File("out.xls"),custom); WritableWorkbook copy = Workbook.createWorkbook(new File("output.xls"), workbook); WritableSheet sheet2 = copy.getSheet(0); SheetSettings customsheetsettings=new SheetSettings(sheet2); customsheetsettings.setAutomaticFormulaCalculation(true); Number number = new Number(3, 4, 3); sheet2.addCell(number); copy.write(); copy.close(); workbook.close(); Workbook workbook2 = Workbook.getWorkbook(new File("output.xls")); […]

java来优化date格式

问题是当我运行我的应用程序,并有一个网格(string和date列),并将其另存为一个Excel文件。 当我第一次保存它时,一切都格式正确,但是当我第二次尝试再次保存相同的确切网格时,date格式不见了(这只是一个浮点值,当我右键单击并格式化为dateTime对象作品)。 当我重新启动我的应用程序,它将再次工作,然后再次失去格式 代码如下所示: Calendar calendar = Calendar.getInstance(); calendar.setTime((Date)data); Date gmtDate = new Date(((Date) data).getTime() + (calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET))); writableCell = new jxl.write.DateTime(sheetColumn, sheetRow, gmtDate, jxl.write.DateTime.GMT); cellFormat = new jxl.write.WritableCellFormat (new jxl.write.DateFormat("m/d/yyyy h:mm"); writableCell.setCellFormat(cellFormat); sheet.addCell(writableCell); 我一直保持指向性,所有的东西都应该是这样的(它总是知道这是一个dateTimetypes之前去表),所以我不认为这是从代码。 有没有人遇到这个问题?

在内存中使用Java创build一个Excel文件,并作为字节传递下载

我用jxl库创build了一个excel文件。 代码工作正常,但唯一的问题是,每次从服务的dynamic值构build一个Excel文件,Excel内容覆盖到一个test.xls如下所示。 有没有什么办法可以在内存中创build一个excel并传递字节来下载它,而不是创build一个外部文件(“ test.xls ”) File file = new File("test.xls"); WritableWorkbook workbook = Workbook.createWorkbook(file); : : : : InputStream in = new FileInputStream(file); if (in == null) { out.close(); } else { byte[] buffer = new byte[4096]; int len; while ((len = in.read(buffer)) != -1) { out.write(buffer, 0, len); } out.flush(); in.close(); out.close(); } 任何人都可以请帮助我

用于使用Excel的库 – jxl?

jxl有多可靠和强大? 我试图从Java创build一个Excel文件,执行像合并单元格,创buildgraphics,设置不同的背景颜色(渐变)的操作 – 基于我从用户收集的信息。 此外,我想用当前date命名工作表并设置访问权限(只读或可编辑)。 我可以使用jxl来做这一切吗?