目前网上能找到Web平台下的读取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");

int row = 1;

while (!table.getEOF()) {

//获取提交的数值

if (!table.getDataFields().getIsEmpty()) {

String content = "";

content += "A”+String.valueOf(row)+”:"+ table.getDataFields().get(0).getText();

content += "B”+String.valueOf(row)+”:"+ table.getDataFields().get(1).getText();

content += "C”+String.valueOf(row)+”:"+ table.getDataFields().get(2).getText();

content += "D”+String.valueOf(row)+”:"+ table.getDataFields().get(3).getText();

content += "E”+String.valueOf(row)+”:"+ table.getDataFields().get(4).getText();

content += "F”+String.valueOf(row)+”:"+ table.getDataFields().get(5.getText();

System.out.println(content);//输出一行的数据

}

//循环进入下一行

table.nextRow();

}

table.close();

workBook.close();

注意:虽然编程是JAVA代码,但是这些代码只是在服务器端接收客户端提交的excel单元格数据,PageOffice真正的读取单元格数据工作是在客户端执行的,要求客户端必须安装office软件(客户端执行的时候无需显示界面)。服务器端这些对象只接受一下数据就行,无需耗费大量资源去处理文件,也无需处理多个客户并发请求的问题,因为每个客户端都各自读取自己的数据,服务器端只接收数据保存到数据库。代码逻辑清晰易读、易于理解。

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方法的简单示例而已,仅供参考!

如何用Java读取单元格的数据_Java读取Excel中的单元格数据相关推荐

  1. Excel - 将 TXT 数据导入到 Excel 中(自动将数据拆分成多列)

    txt文本: 将txt格式里的两列数据复制粘贴导入excel 后全都在同一列. 通过下述操作, 可以将 TXT 数据导入到 Excel 中,并且自动拆分为两列. 数据→从文本

  2. java 单元格拆分合并_java – 在Excel中查找合并的单元格,拆分单元格并将其写入新的电子表格中?...

    我得到了一个分配,我需要拆分电子表格的数据并将其写入新的电子表格.条件是,给定电子表格可能有多个合并单元格数,我需要找到那些合并单元格并在新的SpreadSheet中写入这些数据. 即,必须在另一个电 ...

  3. java通过poi读取excel中的日期类型数据或自定义类型日期

    java通过poi读取excel中的日期类型数据或自定义类型日期 Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 ...

  4. java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  5. python读取Excel中关联表格的数据(只要是同Excel中

    来自CSDN-Mr熊 https://blog.csdn.net/qq_41030861/article/details/80515984 谁能告诉我前面这一堆都是什么啊... python读取Exc ...

  6. excel公式单元格注释_如何在Excel中隐藏注释,公式,溢出文本和网格线

    excel公式单元格注释 We've shown you how to hide cells, rows, and columns and how to hide worksheets/tabs an ...

  7. Excel 中合并单元格的快捷键(ALT+H+M+M)

    要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M. 一旦我们使用快捷键执行该函数,它将弹出一条警告消息"合并单元格 ...

  8. Microsoft Excel 教程:如何在 Excel 中更改单元格的格式?

    欢迎观看 Microsoft Excel 教程,小编带大家学习 Microsoft Excel 的使用技巧,了解如何在 Excel 中更改单元格的格式. 可以对整个单元格以及单元格中的数据应用格式. ...

  9. python3读取excel某一列_怎样用python,读取excel中的一列数据!python读取excel某一列数据...

    Python 如何循环读取csv或者excel中的一列数据,写入到中搜索 是可以 a.csv复制到 b.csv中 import csv def foo(): with open('a.csv', 'r ...

  10. matlab数据变成一列数据,matlab读取excel表格列数据-matlab导入excel后,怎么把数据提取成一列?...

    怎么用matlab读取excel表格中的一列十六进制数据? x=xlsread('oillack.xls','sheet1','a1:a73') excel文件名是oillack.xls,sheet1 ...

最新文章

  1. 员工考勤信息管理小程序
  2. mybatis对mapper.xml的解析(二)
  3. 蓝桥杯第五届决赛真题大全解(java版本)
  4. powerbi add visual diagram
  5. MFC获取键盘光标和鼠标光标所在控件的ID
  6. windows下mongodb安装与使用整理
  7. Flyweight Design Pattern 共享元设计模式
  8. Debian 9 更换源 使用国内源 配置方法
  9. 我是如何 2 个月拿到 4 份 Offer 并收入翻倍的?
  10. php批量getshell,任意文件上传引发的批量Getshell到服务器 - WileySec's Blog
  11. python应聘的职位_Python学到哪种程度可以去应聘相关的职位了?
  12. SparkStreaming安全消费Kafka数据
  13. UE4之FString转换
  14. 基于情感词典的网络文本情感倾向分类模型
  15. 使用usb有线网卡u-boot无法ping通虚拟机
  16. 台式机插上耳机,声音仍然外放问题解决
  17. 腾讯云+tipask快速搭建基于laravel的CMS网站
  18. 8086汇编(3、指令集)
  19. 常微分方程的解法 (四): Matlab 解法
  20. 三分钟读懂什么是动作捕捉

热门文章

  1. javamail发送SSL---------Unrecognized SSL message, plaintext connection
  2. 深入理解JVM(程序编译与代码优化篇)
  3. Java用户账号密码创建登录
  4. JS实现将数字金额转换为大写人民币汉字
  5. android 填充内存方法,安卓快速填满手机内存(转载)
  6. Logisitc Regression 预测员工离职率
  7. 【译学】数据分析手册学习01: 导言、学习目标、指导原则
  8. 131个经典面试题目+答案
  9. k8s中部署prometheus监控告警系统-prometheus系列文章第一篇
  10. 苹果手机投屏软件_小技巧!苹果手机怎么投屏到笔记本?