欢迎访问 生活随笔!

ag凯发k8国际

当前位置: ag凯发k8国际 > 编程语言 > java >内容正文

java

java读取excel某个单元格的值-ag凯发k8国际

发布时间:2024/9/27 java 38 豆豆
ag凯发k8国际 收集整理的这篇文章主要介绍了 java读取excel某个单元格的值_[转载]java读取excel中的单元格数据 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

目前网上能找到的读取excel表格中数据的两种比较好的方案:pageoffice好用开发效率高;poi免费。供大家参考,针对具体情况选择具体方案。

1. pageoffice读取excel

import com.zhuozhengsoft.pageoffice.*;

import com.zhuozhengsoft.pageoffice.excelreader.*;

//读取excel单元格数据

workbook workbook = new workbook(request, response);

sheet sheet = workbook.opensheet("sheet1");

table table = sheet.opentable("a1:f5");while (!table.geteof()) {

//获取提交的数值

if (!table.getdatafields().getisempty()) {

for(int i=0; i<6; i ){

string content = table.getdatafields().get(i).gettext();

system.out.println(content);//输出单元格数据

}

}

//循环进入下一行

table.nextrow();

}

table.close();

workbook.close();

这些代码只是在服务器端接收客户端提交的excel单元格数据,pageoffice真正的读取单元格数据工作是在客户端执行的,由于服务器端并没有对excel文件做任何读取操作,只接受一下数据就行,无需耗费大量资源去处理文件,也无需处理多个客户并发请求的问题,因为每个客户端都各自读取自己的数据,服务器端只接收数据保存到数据库。

2. poi读取excel

package com.test.poi;

import java.io.fileinputstream;

import java.io.ioexception;

import java.io.inputstream;

import java.util.iterator;

import org.apache.poi.hssf.extractor.excelextractor;

import org.apache.poi.hssf.usermodel.hssfcell;

import org.apache.poi.hssf.usermodel.hssfrow;

import org.apache.poi.hssf.usermodel.hssfsheet;

import org.apache.poi.hssf.usermodel.hssfworkbook;

import org.apache.poi.poifs.filesystem.poifsfilesystem;

import org.apache.poi.ss.usermodel.cell;

import org.apache.poi.ss.usermodel.row;

public class readexcel {

public static void main(string[] args) throws exception {

hssfworkbook wb = null;

poifsfilesystem fs = null;

try {

fs = new poifsfilesystem(new fileinputstream("e:\\workbook.xls"));

wb = new hssfworkbook(fs);

} catch (ioexception e) {

e.printstacktrace();

}

hssfsheet sheet = wb.getsheetat(0);

hssfrow row = sheet.getrow(0);

hssfcell cell = row.getcell(0);

string msg = cell.getstringcellvalue();

system.out.println(msg);

}

public static void method2() throws exception {

inputstream is = new fileinputstream("e:\\workbook.xls");

hssfworkbook wb = new hssfworkbook(new poifsfilesystem(is));

excelextractor extractor = new excelextractor(wb);

extractor.setincludesheetnames(false);

extractor.setformulasnotresults(false);

extractor.setincludecellcomments(true);

string text = extractor.gettext();

system.out.println(text);

}

public static void method3() throws exception {

hssfworkbook wb = new hssfworkbook(new fileinputstream("e:\\workbook.xls"));

hssfsheet sheet = wb.getsheetat(0);

for (iterator iter = (iterator) sheet.rowiterator(); iter.hasnext();) {

row row = iter.next();

for (iterator iter2 = (iterator) row.celliterator(); iter2.hasnext();) {

cell cell = iter2.next();

string content = cell.getstringcellvalue();// 除非是sring类型,否则这样迭代读取会有错误

system.out.println(content);

}

}

}

}

注意:hssfworkbook,xssfworkbook的区别:前者是解析出来excel 2007 以前版本的,后缀名为xls的,后者是解析excel 2007 版的,后缀名为xlsx。需要针对不同的excel版本编写不同的程序,判断该用哪个workbook来对其进行解析处理,而且通常需要开发人员自己把这些方法都做相应封装,使其更面向对象,工作量有点大,还有就是要求开发高质量代码,因为是在服务器上执行的,必须解决多个客户同时请求的并发问题,和万一程序执行异常的处理问题,上例只是main方法的简单示例而已,仅供参考!

总结

以上是ag凯发k8国际为你收集整理的java读取excel某个单元格的值_[转载]java读取excel中的单元格数据的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得ag凯发k8国际网站内容还不错,欢迎将ag凯发k8国际推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图