採用jxl.jar包,网上下载,百度一下到出都是。希望能够帮助到大家。

接下来直接贴代码:

<span style="font-size:18px;">
public List getValue(String fileName){
String str=ExcelOparations.readExcel(fileName).trim();
String[] str4n= str.split("\n");
List list1 = new ArrayList();
List list2 = null;
for(int i=0;i<=str4n.length-1;i++){
String[] str4t= str4n[i].trim().split("\t");
list2 = new ArrayList();
for(int j=0;j<=str4t.length-1;j++){ if(str4t[j]!=null && !str4t[j].equals("")){
System.out.println("------------"+str4t[j]);
list2.add(str4t[j]);
}
}
list1.add(list2); }
return list1;
} /**
* 从excel文件里读取全部的內容
*
* @param file
* excel文件
* @return excel文件的內容
*/
public static String readExcel(String fileName) { StringBuffer sb = new StringBuffer();
Workbook wb = null;
try {
// 构造Workbook(工作薄)对象
wb = Workbook.getWorkbook(new File(fileName));
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} if (wb == null)
return null; // 获得了Workbook对象之后,就能够通过它得到Sheet(工作表)对象了
Sheet[] sheet = wb.getSheets(); if (sheet != null && sheet.length > 0) {
// 对每一个工作表进行循环
for (int i = 0; i < sheet.length; i++) {
// 得到当前工作表的行数
int rowNum = sheet[i].getRows(); for (int j = 0; j < rowNum; j++) {
// 得到当前行的全部单元格
Cell[] cells = sheet[i].getRow(j); if (cells != null && cells.length > 0) {
// 对每一个单元格进行循环
for (int k = 0; k < cells.length; k++) {
// 读取当前单元格的值
String cellValue = cells[k].getContents(); sb.append(cellValue + "\t");
}
} sb.append("\r\n");
} sb.append("\r\n");
}
}
// 最后关闭资源,释放内存
wb.close();
return sb.toString();
} /**
* 把內容寫入excel文件里
*
* @param fileName
* 要寫入的文件的名稱
*/
public static void writeExcel(String fileName) {
WritableWorkbook wwb = null;
try {
// 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
e.printStackTrace();
}
if (wwb != null) {
// 创建一个可写入的工作表
// Workbook的createSheet方法有两个參数,第一个是工作表的名称,第二个是工作表在工作薄中的位置
WritableSheet ws = wwb.createSheet("sheet1", 0); // 以下開始加入单元格
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
// 这里须要注意的是,在Excel中,第一个參数表示列,第二个表示行
Label labelC = new Label(j, i, "这是第" + (i + 1) + "行,第"
+ (j + 1) + "列");
try {
// 将生成的单元格加入到工作表中
ws.addCell(labelC);
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
} }
} try {
// 从内存中写入文件里
wwb.write();
// 关闭资源,释放内存
wwb.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
} </span>

JAVA读、写EXCEL文件的更多相关文章

  1. Python小实验——读&写Excel文件内容

    安装xlrd模块和xlwt模块 读取Excel文件了内容需要额外的模块-- \(xlrd\),在官网上可以找到下载:https://pypi.python.org/pypi/xlrd#download ...

  2. Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现

    以前用jxl.jar包,读写过Excel文件.也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽. 注意,这个只是基本可以实现,基本针对中 ...

  3. Pandas 基础(4) - 读/写 Excel 和 CSV 文件

    这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...

  4. openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库

    openpyxl -用于读/写Excel 2010 XLSX/XLSM文件的python库¶ https://www.osgeo.cn/openpyxl/index.html

  5. 使用Python xlwt写excel文件

    如果需要使用Python写Excel文件,首先下载或者安装xlwt. pip install xlwt 下面的这些demo应该可以帮助开发者快速上手使用xlwt写Excel文件: 创建工作簿(work ...

  6. 在Delphi中通过OLE方式写Excel文件

    报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...

  7. java上传excel文件及解析

      java上传excel文件及解析 CreateTime--2018年3月5日16:25:14 Author:Marydon 一.准备工作 1.1 文件上传插件:swfupload: 1.2 文件上 ...

  8. python读、写、修改、追写excel文件

    三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...

  9. java读/写文件

    读取文件参考:https://blog.csdn.net/weixin_42129373/article/details/82154471 写入文件参考:https://blog.csdn.net/B ...

随机推荐

  1. Live555 实战之框架简单介绍

    作者:咕唧咕唧liukun321 来自:http://blog.csdn.net/liukun321 上一篇文章简要介绍了怎样以共享库的方式交叉编译Live555,今天再来介绍live源代码框架. 先 ...

  2. nyoj201 作业题

    作业题 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3   描述 小白同学这学期有一门课程叫做<数值计算方法>,这是一门有效使用数字计算机求数学问题近似解的方 ...

  3. Android中Service类onStartCommand

    Android开发的过程中,每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,然后在onStart ...

  4. Android中的菜单

    本文参考自官方文档:https://developer.android.com/guide/topics/ui/menus.html Android为了维护app之间一个统一的操作习惯,提供了Menu ...

  5. verilog 实现加法器

    半加器 如果不考虑来自低位的进位将两个1二进制数相加,称为半加. 实现半加运算的逻辑电路称为半加器. 真值表 逻辑表达式和 \begin{align}\notag s = a{b}' + {a}'b ...

  6. C# KeyValuePair<TKey,TValue>与Container

    KeyValuePair<TKey,TValue>  KeyValuePair<TKey,TValue>是一个结构体,相当于C#一个Map类型的对象,可以通过它记录一个键/值对 ...

  7. 操作Action

    Action就是Controller的一个方法 包含对应请求的最终结果 Action里代码从Model层拿到数据 最后把数据结果Actionresult 返回用户

  8. forward 和redirect的区别

    1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地 ...

  9. angularjs:[1] ui-router 权限控制

    1:简单的登录检查 $stateProvider .state('index', { url: "/", templateUrl: 'views/forwards/intro.ht ...

  10. AFNetworking了解

    AFNetworking了解   AFNetworking是一个讨人喜欢的网络库,适用于iOS以及Mac OS X. 它构建于在NSURLConnection, NSOperation, 以及其他熟悉 ...