要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息

要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息,第1张

<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等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9623907.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存