1.4000最大样式错误
java.lang.IllegalStateException: The maximum number of cell styles was exceeded. You can define up to 4000 styles in a .xls workbook错误
找到zpoi.jar中org.zkoss.poi.hssf.usermodel.HSSFWorkbook修改createCellStyle函数内的最大样式数量即可。重新打zpoi.jar即可。
public HSSFCellStyle createCellStyle()
{
if(workbook.getNumExFormats() == MAX_STYLES) {
throw new IllegalStateException("The maximum number of cell styles was exceeded. " +
"You can define up to 4000 styles in a .xls workbook");
}
ExtendedFormatRecord xfr = workbook.createCellXF();
short index = (short) (getNumCellStyles() - 1);
HSSFCellStyle style = new HSSFCellStyle(index, xfr, this);
workbook.createCellXFExt(index);
return style;
}
2.IE兼容问题
如果IE系列的浏览器出现了兼容问题(具体就是显示不出报表来),我已知的可能出现的问题有,Excel模板里有数字已字符串形式写入,或者是写日期格式的单元格出现了写入错误。具体的解决如下。
public static Cell writeNumericValue(Sheet sheet, int row, int column,
Double value) {
Row poiRow = sheet.getRow(row);
if (poiRow == null) {
poiRow = sheet.createRow(row);
}
Cell poiCell = poiRow.getCell(column);
if (poiCell != null) {
poiRow.removeCell(poiCell);
}
poiCell = poiRow.createCell(column);
poiCell.setCellType(Cell.CELL_TYPE_NUMERIC);
poiCell.setCellValue(value);
return poiCell;
}
public static Cell writeDateValue(Workbook book, Sheet sheet, int row,
int column, Date value) {
Row poiRow = sheet.getRow(row);
CreationHelper createHelper = book.getCreationHelper();
if (poiRow == null) {
poiRow = sheet.createRow(row);
}
Cell poiCell = poiRow.getCell(column);
if (poiCell == null) {
poiCell = poiRow.createCell(column);
}
CellStyle cellStyle = book.createCellStyle();
cellStyle.setDataFormat(createHelper.createDataFormat().getFormat(
"yyyy-mm-dd"));
if (value != null) {
poiCell.setCellValue(value);
} else {
poiCell.setCellValue(new Date());
}
poiCell.setCellStyle(cellStyle);
return poiCell;
}
分享到:
相关推荐
ZK Spreadsheet(3-1)
ZK Spreadsheet API.chm ZK Spreadsheet API.chm
ZK Spreadsheet 3.9.1 是一个基于Web的电子表格组件,专为构建在线协作和数据编辑的应用程序设计。这个版本提供了与Microsoft Excel类似的功能,让用户能够在浏览器中创建、编辑和共享电子表格,无需安装任何桌面...
zk.part2.rar(3-2)
标题“ZK Spreadsheet(3-3)”暗示我们正在讨论的是关于ZK Spreadsheet的一个特定部分,可能是教程或更新的第三部分。"zk.part3.rar(3-3)"的描述可能是一个压缩文件,包含了该系列内容的第三个部分,可能是文档、...
ZK试算表ZK Spreadsheet是一个基于Web的开源可嵌入的在线电子表格,可在使用纯Java的浏览器中提供Excel的丰富功能。 借助可嵌入的Excel功能,开发人员可以轻松创建交互式,协作和动态的企业应用程序。 较新的。 更好...
1、SpreadSheet是一个Excel操作封装类,使用起来比其他的更为方便。 2、修正了原版SpreadSheet几个错误问题 3、压缩包里面包含了SpreadSheet的简单使用示例。 4、使用vs2008编译通过
$spreadsheet = IOFactory::load('path_to_your_file.xlsx'); $worksheet = $spreadsheet->getActiveSheet(); ``` - 然后,你可以遍历工作表中的行和列,访问单元格的值: ```php foreach ($worksheet->...
### SpreadSheet 控件主要属性、方法和事件 #### 一、概述 SpreadSheet 控件作为 Office Web 组件的一部分,广泛应用于各种需要展示和编辑表格数据的网页应用中。该控件的功能强大,提供了丰富的属性、方法及事件...
### OWC中SpreadSheet控件的操作方法集合 在OWC(Open Web Clent)系统中,SpreadSheet控件被广泛应用于实现类似Excel的功能,为用户提供一个直观的数据处理平台。本文档将详细介绍如何通过代码操作SpreadSheet控件...
在Microsoft Visual Basic for Applications(VBA)中,Spreadsheet控件是一种非常有用的工具,它允许开发者在用户界面中嵌入电子表格功能。本资源“VBA_ 使用spreadsheet控件.rar”显然提供了一些关于如何在VBA项目...
下面将详细解释`SpreadSheet.cpp`和`SpreadSheet.h`这两个关键文件以及如何在VC++中操作Excel的知识点。 `SpreadSheet.cpp`和`SpreadSheet.h`是C++源代码文件,它们一起定义了一个类或一组功能,以便于程序员可以...
### C#中Spreadsheet的使用详解 在C#开发中,处理Excel文件是非常常见的需求之一。本文档将详细介绍如何在C#中使用Spreadsheet技术来读取、操作和展示Excel文件的内容。 #### 一、环境准备与前置知识 在开始之前...
Perl SpreadSheet_Excel 是一个基于Perl编程语言的库,用于解析和操作Microsoft Excel电子表格文件。这个库的核心组件是 `Spreadsheet::ParseExcel` 模块,它允许开发者读取Excel文件的内容,包括单元格的数据、公式...
**OWC11 Spreadsheet 全面解析** OWC11 Spreadsheet 是一款强大的电子表格应用程序,由微软在Office Web Components 2010中提供,它允许用户创建、编辑和共享电子表格,类似于Microsoft Excel。本篇文章将深入探讨...
DevExpress SpreadSheet是一款高级的电子表格组件,用于在应用程序中实现类似Excel的功能。这款工具提供了丰富的API和功能,允许开发者创建、编辑和展示复杂的电子表格,包括报表模板的设定。本项目是关于...
Perl Spreadsheet 是一个Perl编程语言中的模块,用于处理电子表格文件,特别是Microsoft Excel的.xls和.xlsx格式。这个模块允许程序员在Perl脚本中创建、读取和修改Excel工作簿,为数据处理和自动化提供了极大的便利...
$spreadsheet = new Spreadsheet(); // 设置活动sheet索引为0,创建新工作表 $worksheet = $spreadsheet->getActiveSheet(); $worksheet->setCellValue('A1', 'Hello World!'); $worksheet->setCellValue('B2', '这...
本资源主要探讨了如何在ThinkPHP5.1框架下利用PhpSpreadsheet库来实现Excel文件的操作,包括导入和导出功能。下面将详细阐述这两个关键知识点。 **ThinkPHP5.1框架** ThinkPHP5.1是基于PHP语言的一个轻量级的MVC...
Spreadsheet-ParseExcel,Perl的Excel插件,可用于读写Excel文件,在Linux下对Excel文件进行处理。 可以用Spreadsheet::ParseExcel先解析excel,再用Spreadsheet::WriteExcel写入。 或者直接使用Spreadsheet::...