<pre t="code" l="java">// 以下为我在项目中运用的jxl的核心代码
try {
Workbook book = null;
book = WorkbookgetWorkbook(file);
// 获得第一个工作表对象
Sheet sheet = bookgetSheet(0);
int rows = sheetgetRows();
if(rows>1){
Map idnomap = thisgetStudentByIdnos(sheet);
for (int j = 1; j < sheetgetRows(); j++) {// 得到的是行的单元格
TStudentinfo stu = thisgetStudent(sheet,sheetgetRow(j),rows,j,appmap,classmap,idnomap,state);
if(stu==null){
continue;
}
stulistadd(stu);
}
}
bookclose();
// DEMO: db *** 作在下方
xxxServiceadd(stulist);
}
catch (Exception e) {
Systemoutprintln(e);
}
可以使用Apache的POI项目库,可以方便地对Word、Excel等文档进行读写 *** 作。
你所说的单元格所包含的列数,应该是指合并后的单元格所包含的列数。你只需使用POI的Sheet类中提供的getMergedRegion方法即可。POI将合并单元格存储在一个CellRangeAddress的数组变量中,示例如下:
int numOfMergedRegion = sheetgetNumMergedRegions();
CellRangeAddress region = null;
for (int i = 0; i < numOfMergedRegion; i++) {
region = sheetgetMergedRegions(i);
}
要得到单元格所包含的列数,示例如下:
regiongetLastColumn - regiongetFirstColumn
String[] handers = {'1','2','4','5','6'};
HSSFWorkbook wb = new HSSFWorkbook();//创建工作簿
HSSFSheet sheet = wbcreateSheet("sheet1");//第一个sheet
HSSFRow rowFirst = sheetcreateRow(0);//第一个sheet第一行为标题
//写标题了
for (int i = 0; i < handerslength; i++) {
//获取第一行的每一个单元格
HSSFCell cell = rowFirstcreateCell(i);
//往单元格里面写入值
cellsetCellValue(handers[i]);
}
//写数据集
//假定数据集是list集合
for (int i = 0;i < listsize; i++) {
//获取list里面存在是数据集对象
Object obj = listget(i);
//创建数据行
HSSFRow row = sheetcreateRow(i+1);
//设置对应单元格的值
rowcreateCell(0)setCellValue("obj 的属性0");
rowcreateCell(1)setCellValue("obj 的属性1");
rowcreateCell(2)setCellValue("obj 的属性2");
rowcreateCell(3)setCellValue("obj 的属性3");
rowcreateCell(4)setCellValue("obj 的属性4");
rowcreateCell(5)setCellValue("obj 的属性5");
}
//写出文件(path为文件路径含文件名)
OutputStream os = new FileOutputStream(new File(path));
wbwrite(os);
以上代码为写出单个sheet,多个sheet其实是同理的!关键就是在创建sheet的时候保证sheet名字不同,对于你的需求,个人建议利用面向对像的思想构建一个excel 对象,对像属性有文件名,文件sheet,然后在是sheet对象包含标题,数据集属性,忘采纳,谢谢!
你好,去看一下官方的API文档,或许你就会了
>
解决方法:可以在“poi” *** 作“Excel”时读取单元格(Cell),单元格中有内容则可以读取出单元格中的值了。
POI编程(java程序中输出指定格式的Excel表格)基础知识如下:
创建工作簿Workbook,Workbook wb = new HSSFWorkbook();
创建工作表Sheet:Workbook wb = new HSSFWorkbook();
Sheet sheet = wbcreateSheet(“工作表名”);
创建行Row:Workbook wb = new HSSFWorkbook();
Sheet sheet = wbcreateSheet(“工作表名”);
Row row = sheetcreateRow(0);//0 表示行的索引。
POI编程(java程序中输出指定格式的Excel表格)创建单元格“Cell”如下:
Workbook wb = new HSSFWorkbook();
Sheet sheet = wbcreateSheet(“工作表名”);
Row row = sheetcreateRow(0),//0 表示行的索引,从0开始;
Cell cell = rowcreateCell(0),//0 表示单元格的索引,从0开始。
//判断表中是否含有合并单元格
public boolean hasMerged() {
return sheetgetNumMergedRegions() > 0 true : false;
}
// 判断指定区域内是否含有合并单元格
public boolean hasMerged(Region region) {
for (int row = regiongetRowFrom(); row < regiongetRowTo(); row++) {
for (short col = regiongetColumnFrom(); col < regiongetColumnTo(); col++){
for (int i = 0; i < sheetgetNumMergedRegions(); i++) {
Region r = sheetgetMergedRegionAt(i);
if (rcontains(row, col)) {
return true;
}
}
}
}
return false;
}
XlsMain java 类
//该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版)
import javaioFileInputStream;
import javaioIOException;
import javaioInputStream;
import javautilArrayList;
import javautilList;
import orgapachepoihssfusermodelHSSFCell;
import orgapachepoihssfusermodelHSSFRow;
import orgapachepoihssfusermodelHSSFSheet;
import orgapachepoihssfusermodelHSSFWorkbook;
/
@author Hongten</br>
参考地址:>
以上就是关于要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息全部的内容,包括:要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息、JAVA中如何取得EXCEL中确定已知的单元格所包含的列数 急急急!!!、java *** 作poi 导出excel 多个sheet等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)