用java读取word表格Excel表格

Java读写Excel文件中数据的简便方法(附代码)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Java读写Excel文件中数据的简便方法(附代码)
&&Java开发项目中经常会碰到处理Excel文件中数据的情况,本文通过一个例子来看一下实现方法:从Excel文件orders.xls中读取订单信息,从中找出日(含)之后,并且SELLERID等于18的订单。
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩2页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
Excel结构如图所示,我现在有两行数据,我要把这两行数据给对应起来.第一行的数据,表示的是一个分类,第二行是这个分类下的子类.比如性别分类有男和女,年龄段分类有青年,中年,老年.后面依次.我现在读取Excel的时候,怎么才能把他们对应起来呢.我的想法是按照列读取,但是POI好像没有按列读取的方法.或者谁有更好的建议,提出来,帮帮我.
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("d:/test.xls");
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
HSSFSheet sheetAt = hssfWorkbook.getSheetAt(0);
HSSFRow title = sheetAt.getRow(0);
HSSFCell cf =
HSSFCell c =
for (int rowNum = 1; rowNum &= sheetAt.getLastRowNum(); rowNum++) {
HSSFRow r = sheetAt.getRow(rowNum);
cf = title.getCell(0); //性别
c = r.getCell(0);//男
System.out.println(cf.getStringCellValue() + ":" + c.getStringCellValue());
c = r.getCell(1);//女
System.out.println(cf.getStringCellValue() + ":" + c.getStringCellValue());
cf = title.getCell(2); //年龄
c = r.getCell(2);//年轻
System.out.println(cf.getStringCellValue() + ":" + c.getStringCellValue());
c = r.getCell(3);//中年
System.out.println(cf.getStringCellValue() + ":" + c.getStringCellValue());
c = r.getCell(4);//老年
System.out.println(cf.getStringCellValue() + ":" + c.getStringCellValue());
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
采纳的这个答案有一点小问题就是所有的数据都是写死的.我自己又折腾了一下,把数据写活了.代码如下
package org.linuxsogood.miscT
import java.io.F
import java.io.FileInputS
import java.io.InputS
import java.util.HashM
import java.util.M
import java.util.Map.E
import java.util.R
import org.apache.poi.ss.util.CellRangeA
import org.apache.poi.xssf.usermodel.XSSFC
import org.apache.poi.xssf.usermodel.XSSFR
import org.apache.poi.xssf.usermodel.XSSFS
import org.apache.poi.xssf.usermodel.XSSFW
public class TestPOIP1Title {
public static void main(String[] args) throws Exception {
String pathname = "E:\\files\\title.xlsx";
File file = new File(pathname);
InputStream in = new FileInputStream(file);
//得到整个excel对象
XSSFWorkbook excel = new XSSFWorkbook(in);
//获取整个excel有多少个sheet
int sheets = excel.getNumberOfSheets();
//便利第一个sheet
Map&String,String& colMap = new HashMap&String, String&();
for(int i = 0 ; i & i++ ){
XSSFSheet sheet = excel.getSheetAt(i);
if(sheet == null){
int mergedRegions = sheet.getNumMergedRegions();
XSSFRow row2 = sheet.getRow(0);
Map&Integer,String& category = new HashMap&Integer, String&();
for(int j = 0 ; j & mergedR j++ ){
CellRangeAddress rangeAddress = sheet.getMergedRegion(j);
int firstRow = rangeAddress.getFirstColumn();
int lastRow = rangeAddress.getLastColumn();
category.put(rangeAddress.getFirstColumn(), rangeAddress.getLastColumn()+"-"+row2.getCell(firstRow).toString());
//便利每一行
for( int rowNum = 1 ; rowNum &= sheet.getLastRowNum() ; rowNum++ ){
System.out.println();
XSSFRow row = sheet.getRow(rowNum);
if(row == null){
short lastCellNum = row.getLastCellNum();
String cate = "";
Integer maxIndex = 0;
for( int col = row.getFirstCellNum() ; col & lastCellN col++ ){
XSSFCell cell = row.getCell(col);
if(cell == null ){
if("".equals(cell.toString())){
int columnIndex = cell.getColumnIndex();
String string = category.get(columnIndex);
if(string != null && !string.equals("")){
String[] split = string.split("-");
cate = split[1];
maxIndex = Integer.parseInt(split[0]);
System.out.println(cate+"&--&"+cell.toString());
//如果当前便利的列编号小于等于合并单元格的结束,说明分类还是上面的分类名称
if(columnIndex&=maxIndex){
System.out.println(cate+"&--&"+cell.toString());
System.out.println("分类未知"+"&--&"+cell.toString());
运行的结果如下
性别&--&男
性别&--&女
年龄段&--&青年
年龄段&--&中年
年龄段&--&老年
年代情怀&--&60前
年代情怀&--&60后
年代情怀&--&70后
年代情怀&--&80后
年代情怀&--&90后
年代情怀&--&00后
行业&--&IT|通信|电子|互联网
行业&--&金融业
行业&--&房地产|建筑工程
行业&--&设计|印刷|艺术
行业&--&财务|人力资源|行政
行业&--&贸易|批发|零售|租赁业
行业&--&咨询|法律|教育|翻译
行业&--&销售|客服|市场
行业&--&生产|加工|制造
行业&--&交通|运输|物流|仓储
行业&--&服务业
行业&--&文化|传媒
行业&--&娱乐|体育
行业&--&能源|矿产|环保|科研
行业&--&政府|非盈利机构
行业&--&农|林|牧|渔
行业&--&学生
兴趣&--&音乐
兴趣&--&美食
兴趣&--&运动
兴趣&--&旅行
兴趣&--&摄影
兴趣&--&电影
兴趣&--&读书
兴趣&--&购物
兴趣&--&经管金融
兴趣&--&人文
兴趣&--&艺术
兴趣&--&娱乐
兴趣&--&游戏
兴趣&--&命理|运势|占卜
兴趣&--&居家
兴趣&--&时尚
兴趣&--&极客
兴趣&--&趣味
兴趣&--&自我管理
兴趣&--&教育
兴趣&--&设计
兴趣&--&动漫
兴趣&--&美容护肤
宗教信仰&--&佛教
宗教信仰&--&基督教
宗教信仰&--&伊斯兰教
岗位状态&--&自由职业
岗位状态&--&退休
婚恋状态&--&单身
婚恋状态&--&异地恋
婚恋状态&--&同城恋
婚恋状态&--&已婚
婚恋状态&--&离异
生育状态&--&已生育
生育状态&--&未生育
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
《使用POI按Excel标题动态读取列数据》
同步到新浪微博
分享到微博?
Hi,欢迎来到 SegmentFault 技术社区!⊙▽⊙ 在这里,你可以提出编程相关的疑惑,关注感兴趣的问题,对认可的回答投赞同票;大家会帮你解决编程的问题,和你探讨技术更新,为你的回答投上赞同票。
明天提醒我
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:4968人阅读
java基础(12)
用java代码读取hello.xls表格中的数据
2、hello.xls表格
3、java代码
package com.
import java.io.F
import jxl.*;
public class ReadExcel{
public static void main(String[] args) {
Cell cell1,cell2,cell3,cell4,cell5,cell6,cell7;
//hello.xls为要读取的excel文件名
book= Workbook.getWorkbook(new File(&D://hello.xls&));
//获得第一个工作表对象(ecxel中sheet的编号从0开始,0,1,2,3,....)
sheet=book.getSheet(0);
//获取左上角的单元格
cell1=sheet.getCell(0,0);
System.out.println(&标题:&+cell1.getContents());
while(true)
//获取每一行的单元格
cell1=sheet.getCell(0,i);//(列,行)
cell2=sheet.getCell(1,i);
cell3=sheet.getCell(2,i);
cell4=sheet.getCell(3,i);
cell5=sheet.getCell(4,i);
cell6=sheet.getCell(5,i);
cell7=sheet.getCell(6,i);
if(&&.equals(cell1.getContents())==true)
//如果读取的数据为空
System.out.println(cell1.getContents()+&\t&+cell2.getContents()+&\t&+cell3.getContents()+&\t&+cell4.getContents()
+&\t&+cell5.getContents()+&\t&+cell6.getContents()+&\t&+cell7.getContents());
book.close();
catch(Exception e)
4、读取结果
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29450次
积分:1092
积分:1092
排名:千里之外
原创:81篇
(32)(3)(9)(2)(3)(4)(7)(4)(1)(1)(3)(5)(1)(3)(3)(1)(1)(3)当前位置:
Java使用JExcelAPI读写Excel电子表格
开源社区已经创造了许多开源项目,从制表软件到游戏框架到文字处理。在这篇文章中,我介绍一个可以读写微软电子表格的开源类库项目,是Andrew Kahn开发的,并且在GNU 通用公共许可协议下发布。它是一个成熟的、以为基础的可以让你实现读写和更改电子表格功能的开源类库。这里有一些它的特点:
◆可以从 95, 97, 2000, XP, 和2003工作簿读取数据
◆可以读写公式(只支持Excel 97和之后的版本)
◆可以以Excel 2000的格式生成电子表格
◆支持字体,数字,和日期的格式化
◆支持单元格拆分,单元格合并,和单元格着色
◆更改存在的工作表
◆支持复制图表
◆支持向电子表格插入或者复制图片
1.使用浏览器打开下载或者(密码:xIxp)。
2.点击 “jexcelapi” 这个链接。
3.在结果页,点击任意一个文件夹链接。例如,我点击了 2.6.12 这个链接。
4.在结果页,点击分发文档文件名。例如,我点击了 jexcelapi_2_6_12.zip 这个链接。
5.稍微等待一下之后,你的浏览器会弹出对话框提醒你去保存这个文件。继续点击去保存这个文件即可。
下载完成后,解压这个文件。你会发现一个 jexcelapi 主目录在jexcelapi_2_6_12 目录下面。
JExcelAPI 的 jexcelapi 主目录包含一个叫 jxl.jar 的文件,这个文件包含一些读写和复制电子表格的例子程序。这个读取的例子读取的是一个已经存在的电子表格,并且通过 -csv 或者 -xml 命令行选项转换它为逗号分隔值(CSV)或者XML格式的文档。参考一下下面的例子:
java -jar jxl.jar -csv budget.xls
java -jar jxl.jar -xml budget.xls
这些例子读取 budget.xls 文件而且以CSV和XML格式输出它的内容到标准输出流。当 -csv 和 -xml 都没有被指定的时候,默认使用 -csv。
这个写入的例子创建一个包含公式,边界,图片,和更多其他元素的电子表格样本。这个电子表格通过指定 -write 命令行参数生成,就像下面使用的那样:
java -jar jxl.jar -write sample.xls
下图展现了 sample.xls 电子表格文件部分结果。
这个复制的例子复制了和 jxl.jar 存储在同一目录下的样本 jxlrwtest.xls 电子表格成为一个新的电子表格。在这个复制完成后的电子表格中,第一个工作薄(原始的)没有改变然而第二个工作薄(改变了的)包含了改变后的内容。
这个例子通过指定 -rw 命令行参数后面加上 jxlrwtest.xls 和输出电子表格的名称而产生。参考下面的命令行:
java -jar jxl.jar -rw jxlrwtest.xls copy.xls
这个命令行复制 jxlrwtest.xls 为 copy.xls。下图展现了第二部分(修改了的)工作簿在 LibreOffice Calc 下面。
为编译执行引入JExcelAPI
当编译源代码和运行一个应用的时候引入 JExcelAPI ,做下面的其中一件事情:
◆添加 jexcelapi 主目录里面的 jxl.jar 文件到你的 CLASSPATH 环境变量中。
◆通过 javac 和 java 命令的 -cp 选项引入 jxl.jar。
JExcelAPI 编程
jexcelapi 主目录包含一个 tutorial.html 文件,它里面有对JExcelAPI编程的基本指导。这个手册告诉你如何读,写,和复制电子表格。这个手册也谈论了格式化。
jexcelapi 也包括一个 docs 子目录,它提供了查看更多的API文档的通道。使用你的浏览器访问这个目录下的index.html 文件你就可以查看到这个类库下的四个已经建立好文档的包:
◆jxl: 主要包的文档
◆jxl.demo: 各种demo的文档
◆jxl.format: 与格式化相关的文档
◆jxl.write: 与写电子表格相关的文档
注意一下这个列表不是详尽的。附加的包比如 jxl.read 是出现的但是没有建立好文档。想去了解附件的包,运行 jar tvf jxl.jar 然后再在生成的jar列表里面检查包的信息。
为了帮助你使用JExcelAPI,我已经创建了一个简单的JExcelAPIDemo应用,它示范创建一个保存到output.xls的新的电子表格然后再读取并且输出这个电子表格的内容。查看下面“写和读取一个简单的电子表格”:
import java.io.F
import java.io.IOE
import jxl.C
import jxl.S
import jxl.W
import jxl.read.biff.BiffE
import jxl.write.L
import jxl.write.N
import jxl.write.WritableS
import jxl.write.WritableW
import jxl.write.WriteE
public class JExcelAPIDemo
public static void main(String[] args)
throws BiffException, IOException, WriteException
wworkbook = Workbook.createWorkbook(new File(&output.xls&));
WritableSheet wsheet = wworkbook.createSheet(&First Sheet&, 0);
Label label = new Label(0, 2, &A label record&);
wsheet.addCell(label);
Number number = new Number(3, 4, 3.1459);
wsheet.addCell(number);
wworkbook.write();
wworkbook.close();
Workbook workbook = Workbook.getWorkbook(new File(&output.xls&));
Sheet sheet = workbook.getSheet(0);
Cell cell1 = sheet.getCell(0, 2);
System.out.println(cell1.getContents());
Cell cell2 = sheet.getCell(3, 4);
System.out.println(cell2.getContents());
workbook.close();
代码通过调用Workbook 的工厂方法首先创建了一个可写的工作簿。然后这个工作簿的一个可写单元被随后创建,然后一个标签名和一个数字被加入到工作簿中作为这个工作薄的两个单元的值。这个工作博随后被创建完成然后关闭。
代码继续关联output.xls文件工作簿然后读取它的内容。这个getSheet()方法连接电子表格的第一个工作簿。它的getCell()方法被调用去连接这两个单元,然后它的内容被读出。
假设jxl.jar 文件放在当前目录中,运行下面的命令去编译上面的代码:
javac -cp jxl.jar JExcelAPIDemo.java
如果成功之后,运行下面的命令启动JExcelAPIDemo:
java -cp jxl.. JExcelAPIDemo
你会发现下面的输出:
A label record
下图展示 LibreOffice 打开的 output.xls的内容。
你可以(密码:rKWa)这篇文章的代码。代码是在win 7 + jdk 7u6 环境下开发测试的。
原文链接:
本文固定链接:
【上一篇】【下一篇】
您可能还会对这些文章感兴趣!
  ①、由于工作原因,网站基本处于无人管理状态,如有需要沟通,请至网站底部QQ联系Csyor。(>﹏<)
  ②、近期天朝各种整顿,网盘分享链接多次失效,现在已经全部更新为加密下载,如果您发现还有下载文件链接失效的问题,请留言或者网站底部QQ联系Csyor。(>﹏<)
  ③、上线测试,欢迎大家浏览测试,谢谢。如果你也想拥有这样一个美轮美奂的个人相册,请查看""。
最新日志热评日志随机日志
日志总数:107 篇
评论总数:303 篇
标签数量:161 个
链接总数:9 个
建站日期:
运行天数:1371 天
最后更新:追求卓越,成功就会在不经意间追上你!
这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中。
你也可以在 :&了解到写入Excel的方法信息
使用JXL技术可以在 :
项目结构:
Excel中的测试数据:
数据库结构:
对应的SQL:
1 CREATE TABLE `student_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`no` varchar(20) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL,
`age` varchar(10) DEFAULT NULL,
`score` float DEFAULT '0',
PRIMARY KEY (`id`)
8 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据成功:
如果重复数据,则丢掉:
=============================================
源码部分:
=============================================
/ExcelTest/src/com/b510/client/Client.java
4 package com.b510.
6 import java.io.IOE
7 import java.sql.SQLE
9 import com.b510.excel.SaveData2DB;
* @author Hongten
* @created
15 public class Client {
public static void main(String[] args) throws IOException, SQLException {
SaveData2DB saveData2DB = new SaveData2DB();
saveData2DB.save();
System.out.println("end");
/ExcelTest/src/com/b510/common/Common.java
* @author Hongten
* @created
10 public class Common {
// connect the database
public static final String DRIVER = "com.mysql.jdbc.Driver";
public static final String DB_NAME = "test";
public static final String USERNAME = "root";
public static final String PASSWORD = "root";
public static final String IP = "192.168.1.103";
public static final String PORT = "3306";
public static final String URL = "jdbc:mysql://" + IP + ":" + PORT + "/" + DB_NAME;
public static final String EXCEL_PATH = "lib/student_info.xls";
public static final String INSERT_STUDENT_SQL = "insert into student_info(no, name, age, score) values(?, ?, ?, ?)";
public static final String UPDATE_STUDENT_SQL = "update student_info set no = ?, name = ?, age= ?, score = ? where id = ? ";
public static final String SELECT_STUDENT_ALL_SQL = "select id,no,name,age,score from student_info";
public static final String SELECT_STUDENT_SQL = "select * from student_info where name like ";
/ExcelTest/src/com/b510/excel/ReadExcel.java
4 package com.b510.
6 import java.io.FileInputS
7 import java.io.IOE
8 import java.io.InputS
9 import java.util.ArrayL
10 import java.util.L
12 import org.apache.poi.hssf.usermodel.HSSFC
13 import org.apache.poi.hssf.usermodel.HSSFR
14 import org.apache.poi.hssf.usermodel.HSSFS
15 import org.apache.poi.hssf.usermodel.HSSFW
18 import com.b510.excel.vo.S
* @author Hongten
* @created
24 public class ReadExcel {
public List&Student& readXls() throws IOException {
InputStream is = new FileInputStream(Common.EXCEL_PATH);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
Student student = null;
List&Student& list = new ArrayList&Student&();
// 循环工作表Sheet
for (int numSheet = 0; numSheet & hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
// 循环行Row
for (int rowNum = 1; rowNum &= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow != null) {
student = new Student();
HSSFCell no = hssfRow.getCell(0);
HSSFCell name = hssfRow.getCell(1);
HSSFCell age = hssfRow.getCell(2);
HSSFCell score = hssfRow.getCell(3);
student.setNo(getValue(no));
student.setName(getValue(name));
student.setAge(getValue(age));
student.setScore(Float.valueOf(getValue(score)));
list.add(student);
@SuppressWarnings("static-access")
private String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) {
// 返回布尔类型的值
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) {
// 返回数值类型的值
return String.valueOf(hssfCell.getNumericCellValue());
// 返回字符串类型的值
return String.valueOf(hssfCell.getStringCellValue());
/ExcelTest/src/com/b510/excel/SaveData2DB.java
4 package com.b510.
6 import java.io.IOE
7 import java.sql.SQLE
8 import java.util.L
11 import com.b510.excel.util.DbU
12 import com.b510.excel.vo.S
* @author Hongten
* @created
18 public class SaveData2DB {
@SuppressWarnings({ "rawtypes" })
public void save() throws IOException, SQLException {
ReadExcel xlsMain = new ReadExcel();
Student student = null;
List&Student& list = xlsMain.readXls();
for (int i = 0; i & list.size(); i++) {
student = list.get(i);
List l = DbUtil.selectOne(Common.SELECT_STUDENT_SQL + "'%" + student.getName() + "%'", student);
if (!l.contains(1)) {
DbUtil.insert(Common.INSERT_STUDENT_SQL, student);
System.out.println("The Record was Exist : No. = " + student.getNo() + " , Name = " + student.getName() + ", Age = " + student.getAge() + ", and has been throw away!");
/ExcelTest/src/com/b510/excel/util/DbUtil.java
4 package com.b510.excel.
6 import java.sql.C
7 import java.sql.DriverM
8 import java.sql.PreparedS
9 import java.sql.ResultS
10 import java.sql.SQLE
11 import java.util.ArrayL
12 import java.util.L
15 import com.b510.excel.vo.S
* @author Hongten
* @created
21 public class DbUtil {
* @param sql
public static void insert(String sql, Student student) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
Class.forName(Common.DRIVER);
conn = DriverManager.getConnection(Common.URL, Common.USERNAME, Common.PASSWORD);
ps = conn.prepareStatement(sql);
ps.setString(1, student.getNo());
ps.setString(2, student.getName());
ps.setString(3, student.getAge());
ps.setString(4, String.valueOf(student.getScore()));
boolean flag = ps.execute();
if(!flag){
System.out.println("Save data : No. = " + student.getNo() + " , Name = " + student.getName() + ", Age = " + student.getAge() + " succeed!");
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ps != null) {
ps.close();
if (conn != null) {
conn.close();
@SuppressWarnings({ "unchecked", "rawtypes" })
public static List selectOne(String sql, Student student) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
List list = new ArrayList();
Class.forName(Common.DRIVER);
conn = DriverManager.getConnection(Common.URL, Common.USERNAME, Common.PASSWORD);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
while(rs.next()){
if(rs.getString("no").equals(student.getNo()) || rs.getString("name").equals(student.getName())|| rs.getString("age").equals(student.getAge())){
list.add(1);
list.add(0);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
if (ps != null) {
ps.close();
if (conn != null) {
conn.close();
public static ResultSet selectAll(String sql) throws SQLException {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
Class.forName(Common.DRIVER);
conn = DriverManager.getConnection(Common.URL, Common.USERNAME, Common.PASSWORD);
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (rs != null) {
rs.close();
if (ps != null) {
ps.close();
if (conn != null) {
conn.close();
/ExcelTest/src/com/b510/excel/vo/Student.java
4 package com.b510.excel.
* @author Hongten
* @created
12 public class Student {
private float
public Integer getId() {
public void setId(Integer id) {
public String getNo() {
public void setNo(String no) {
public String getName() {
public void setName(String name) {
this.name =
public String getAge() {
public void setAge(String age) {
this.age =
public float getScore() {
public void setScore(float score) {
this.score =
源码下载:
========================================================
多读一些书,英语很重要。
More reading,and english is important.
I'm Hongten
========================================================&
阅读(...) 评论()}

我要回帖

更多关于 java读取word表格 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信