代码如下:
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
import java.util.Calendar;
import java.util.Date;public class drexcel {
/** Excel文件的存放位置。注意是正斜线 */
public static String fileToBeRead = "D:/报错.xls"; public static void main(String argv[]) {
try {
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
fileToBeRead));
// 创建对工作表的引用。
HSSFSheet sheet = workbook.getSheet("jbxx");
// 读取单元格
HSSFRow row = sheet.getRow(3);
HSSFCell cell = row.getCell((short) 4); Date txrq = cell.getDateCellValue();
System.out.println("日期: " + txrq);
} catch (Exception e) {
System.out.println(e);
}
}
}当读取的Excel保存时,焦点落在下拉框上时,则报错。
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:224)
at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:163)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:210)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:191)
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.poi.hssf.record.UnknownRecord.<init>(UnknownRecord.java:62)
at org.apache.poi.hssf.record.SubRecord.createSubRecord(SubRecord.java:57)
at org.apache.poi.hssf.record.ObjRecord.fillFields(ObjRecord.java:99)
at org.apache.poi.hssf.record.Record.fillFields(Record.java:90)
at org.apache.poi.hssf.record.Record.<init>(Record.java:55)
at org.apache.poi.hssf.record.ObjRecord.<init>(ObjRecord.java:61)Excel是用单元格的数据有效性,通过序列的方式实现单元格下拉列表内容的。
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;
import java.util.Calendar;
import java.util.Date;public class drexcel {
/** Excel文件的存放位置。注意是正斜线 */
public static String fileToBeRead = "D:/报错.xls"; public static void main(String argv[]) {
try {
// 创建对Excel工作簿文件的引用
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(
fileToBeRead));
// 创建对工作表的引用。
HSSFSheet sheet = workbook.getSheet("jbxx");
// 读取单元格
HSSFRow row = sheet.getRow(3);
HSSFCell cell = row.getCell((short) 4); Date txrq = cell.getDateCellValue();
System.out.println("日期: " + txrq);
} catch (Exception e) {
System.out.println(e);
}
}
}当读取的Excel保存时,焦点落在下拉框上时,则报错。
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at org.apache.poi.hssf.record.RecordFactory.createRecord(RecordFactory.java:224)
at org.apache.poi.hssf.record.RecordFactory.createRecords(RecordFactory.java:160)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:163)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:210)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:191)
Caused by: java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at org.apache.poi.hssf.record.UnknownRecord.<init>(UnknownRecord.java:62)
at org.apache.poi.hssf.record.SubRecord.createSubRecord(SubRecord.java:57)
at org.apache.poi.hssf.record.ObjRecord.fillFields(ObjRecord.java:99)
at org.apache.poi.hssf.record.Record.fillFields(Record.java:90)
at org.apache.poi.hssf.record.Record.<init>(Record.java:55)
at org.apache.poi.hssf.record.ObjRecord.<init>(ObjRecord.java:61)Excel是用单元格的数据有效性,通过序列的方式实现单元格下拉列表内容的。
解决方案 »
- 在dos命令下运行两个关联的java程序总报错啊?
- struts 的配置文件使用说明,jstl使用说明,在哪里查?
- Xfire动态访问问题~~ 得分好贴!!
- oracle + java 软件发布问题
- 有没有办法知道, 当前web服务器是tomcat、resin还是其他,最简单的办法?
- 关于script的问题,请帮下忙
- myeclipse jvm堆内存 与jvm设置参数不符
- 初学,不解的问题,希望大家给点指点
- WebSphere里面不能使用setCharacterEncoding(java.lang.String)?请高手救命呀
- 机子启动问题:有时候能启动,有时候启动不了(内详)
- 机顶盒死机问题
- java 用ztree做动态数 急急急
下标越界,要么Excel没有3行,要么没有4列,看看你的excel文档吧