要用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);

}

static public void main(String[] args){

try {

FileInputStream fis = new FileInputStream("d:\\aaxls");

HSSFWorkbook wb = new HSSFWorkbook(fis);

HSSFSheet s = wbgetSheet("Sheet1");

HSSFRow row=sgetRow(0);

HSSFCell cell=rowgetCell((short) 0);

Systemoutprintln(cellgetStringCellValue());

fisclose();

} catch (Exception e) {

eprintStackTrace();

}

}

解决方法:可以在“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 class CreateSimpleExcelToDisk

{

/

@功能:手工构建一个简单格式的Excel

/

public static List<Tsxx> getStudent(String[] str) throws Exception

{

List listts = new ArrayList();

SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");

Connection conn = DBUtilgetCon();

String sqlback="";

for(int i=0;i<strlength-1;i++){

sqlback=sqlback+"\"id\"='"+str[i]+"'or";

}

sqlback=sqlback+"\"id\"='"+str[strlength-1]+"'";

String sql1 = "select from 表名 where"+sqlback;

Systemoutprintln(sql1 );

ResultSet rs = DBUtilgetResult(conn, sql1);

String outStr = "";

int a=1;

try {

while(rsnext()){

String objid = rsgetString(1);

String tsname= rsgetString("tsname");

String tstel= rsgetString("tstel");

String tscpname= rsgetString("tscpname");

String tsads=rsgetString("tsads");

String tsqus=rsgetString("tsqus");

String tsno=rsgetString("tsno");

String tsdate=rsgetString("tsdate");

Tsxx user = new Tsxx(a,tsname,tstel,tscpname,tsads,tsqus,tsno,dfparse(tsdate));

listtsadd(user);

a++;

}

} catch (SQLException e) {

eprintStackTrace();

}finally {

try {

if (rs != null) {

rsclose();

}

if (conn != null) {

connclose();

}

} catch (Exception e) {

}}

return listts;

}

public static void main(String[] args) throws Exception

{

// // 第一步,创建一个webbook,对应一个Excel文件

// HSSFWorkbook wb = new HSSFWorkbook();

// // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet

// HSSFSheet sheet = wbcreateSheet("学生表一");

// // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short

// HSSFRow row = sheetcreateRow((int) 0);

// // 第四步,创建单元格,并设置值表头 设置表头居中

// HSSFCellStyle style = wbcreateCellStyle();

// stylesetAlignment(HSSFCellStyleALIGN_CENTER); // 创建一个居中格式

//

// HSSFCell cell = rowcreateCell((short) 0);

// cellsetCellValue("学号");

// cellsetCellStyle(style);

// cell = rowcreateCell((short) 1);

// cellsetCellValue("姓名");

// cellsetCellStyle(style);

// cell = rowcreateCell((short) 2);

// cellsetCellValue("年龄");

// cellsetCellStyle(style);

// cell = rowcreateCell((short) 3);

// cellsetCellValue("生日");

// cellsetCellStyle(style);

//

// // 第五步,写入实体数据 实际应用中这些数据从数据库得到,

// List list = CreateSimpleExcelToDiskgetStudent();

//

// for (int i = 0; i < listsize(); i++)

// {

// row = sheetcreateRow((int) i + 1);

// Tsxx stu = (Tsxx) listget(i);

// // 第四步,创建单元格,并设置值

// rowcreateCell((short) 0)setCellValue((double) stugetId());

// rowcreateCell((short) 1)setCellValue(stugetName());

// rowcreateCell((short) 2)setCellValue((double) stugetAge());

// cell = rowcreateCell((short) 3);

// cellsetCellValue(new SimpleDateFormat("yyyy-mm-dd")format(stugetBirth()));

// }

// // 第六步,将文件存到指定位置

// try

// {

// FileOutputStream fout = new FileOutputStream("E:/studentsxls");

// wbwrite(fout);

// foutclose();

// }

// catch (Exception e)

// {

// eprintStackTrace();

// }

}

以上就是关于要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息全部的内容,包括:要用Java POI读取Excel文件中的数据,并且实现对数据的格式校验,输入错误信息、java中使用POI如何获得EXCEL中的一行数据、poi处理Excel数据,cell的getStringCellValue()获取的值为空,大侠帮帮忙等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/web/9511015.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存