Apache POI出现的错误原因
在应用POI的过程中出现了:org.apache.poi.hssf.usermodel.HSSFWorkbook.getSheetIndex(Lorg/apache/poi/hssf/usermodel/HSSFSheet;)I这样的错误,请问是何原因。
以下是测试实例
package test; import java.util.Date; import wsepr.easypoi.excel.Excel; import wsepr.easypoi.excel.editor.IFontEditor; import wsepr.easypoi.excel.style.Align; import wsepr.easypoi.excel.style.BorderStyle; import wsepr.easypoi.excel.style.Color; import wsepr.easypoi.excel.style.font.BoldWeight; import wsepr.easypoi.excel.style.font.Font; public class HelloWord { public static void main(String[] args) { Excel excel = new Excel(); excel.cell(0, 0) // 选择第一个单元格 .value("Hello World!")// 写入值 .align(Align.CENTER)// 设置水平对齐方式 .bgColor(Color.LIGHT_YELLOW)// 设置背景色 .height(30)// 设置高度 .font(new IFontEditor() {// 设置字体 public void updateFont(Font font) { font.boldweight(BoldWeight.BOLD);// 粗体 font.color(Color.BROWN);// 字体颜色 } }); excel.region(0, 0, 0, 10).merge();// 合并第一行10个单元格 Object[] val = new Object[] { "插入一行数据", 123, 'A', Math.PI, new Date(), "hello" }; excel.row(2)// 选择第3行 .value(val)// 写入数据 .addWidth(2000)// 增加宽度 .borderOuter(BorderStyle.DASH_DOT_DOT, Color.CORAL);// 设置外边框样式 excel.row(4, 1)// 选择第5行,但忽略第1个单元格,从第2个单元格开始操作 .value(val).borderFull(BorderStyle.DASH_DOT, Color.RED);// 设置全部边框 excel.row(6)// 选择第7行 .value(val, 2)// 从第3个单元格开始写入数据 .borderTop(BorderStyle.THIN, Color.BLUE);// 只设置上边框 excel.column(11) .value(val) // 也可以操作一列 .align(Align.CENTER) .borderFull(BorderStyle.THICK, Color.CORNFLOWER_BLUE) .autoWidth();// 根据内容长度,自动调整列宽 excel.cell(7, 0).value("=IF(B3=123,"等于","不等于")");// 写入Excel函数 excel.cell(7, 1).value(0.578923).dataFormat("0.00%");// 设置数据格式 excel.region(8, 0, 10, 1).image( "http://poi.apache.org/resources/images/group-logo.jpg");// 插入一张图片 excel.sheet().freeze(1, 0)// 冻结第一行 .sheetName("这是第一个表");// 重命名当前处于工作状态的表的名称 // 操作第二个表 excel.setWorkingSheet(1).sheetName("第二个表");// 把第二个表设置为工作状态,并改名 excel.row(0).value(val);// 第二个表写入数据 excel.saveExcel("F:/helloworld.xls"); } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.getSheetIndex(Lorg/apache/poi/hssf/usermodel/HSSFSheet;)I
用sources解压出来用就可以,jar包的就不行,郁闷啊
换成poi3.8就行了 以前版本的bug
直接用POI3.7也是这样的异常提示。
用 jexcel 输出比较方便
你这里用了 EasyPOI 这个项目,而 POI 版本更新挺快的。二者肯定存在不兼容的地方
版本问题吧,升级一下 POI 的版本。或者检查一下是否项目中有多个 POI ,而老的那个优先级更高
版本问题吧,升级一下 POI 的版本。或者检查一下是否项目中有多个 POI ,而老的那个优先级更高
easypoi还是测试阶段的,不完善。现在打算找时间仔细测试、完善
这不是错误哦,你要把异常信息也贴出来