JXL读取,写入Excel

时间:2022-09-28 08:25:30

JXL读取,写入Excel2003

相关阅读:
poi 读写excel2003:http://www.cnblogs.com/gavinYang/p/3576739.html
poi 读写excel2007:http://www.cnblogs.com/gavinYang/p/3576741.html

package com.write;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook; public class JSXWriteExcelXls { public static void main(String[] args) { //只支持读取2003 Map<Integer, List<String[]>> map = readExcel(new File("e:/读取excel.xls"));
for(int n=0;n<map.size();n++){
List<String[]> list = map.get(n);
System.out.println("-------------------------sheet"+n+"--------------------------------");
for(int i=0;i<list.size();i++){
String[] arr = (String[]) list.get(i);
for(int j=0;j<arr.length;j++){
if(j==arr.length-1)
System.out.print(arr[j]);
else
System.out.print(arr[j]+"|");
}
System.out.println();
}
} writeExcel(new File("e:/写入excel.xls"),map);
} public static Map<Integer, List<String[]>> readExcel(File file) {
Map<Integer, List<String[]>> map = new HashMap<Integer, List<String[]>>();
try {
Workbook wb = Workbook.getWorkbook(file);
for(int n=0;n<wb.getSheets().length;n++){
Sheet sheet = wb.getSheet(n);
if (sheet == null) {
continue;
}
List<String[]> list = new ArrayList<String[]>();
for (int i = 0; i < sheet.getRows(); i++) {
Cell[] row = sheet.getRow(i);
if (row == null) {
continue;
}
String[] singleRow = new String[row.length];
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j, i); // 列 行
//获取Cell的类型:cell.getType() 类型的枚举CellType.xxx
singleRow[j] = cell.getContents();
}
list.add(singleRow);
}
map.put(n, list);
}
} catch (BiffException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return map;
}    // 写文件
public static void writeExcel(File file,Map<Integer, List<String[]>> map) {
try {
// 创建文件
WritableWorkbook book = Workbook.createWorkbook(file);
for(int n=0;n<map.size();n++){
WritableSheet sheet = book.createSheet("sheet"+(n+1), n);
List<String[]> list = map.get(n);
for(int i=0;i<list.size();i++){
String[] arr = list.get(i);
for(int j=0;j<arr.length;j++){
sheet.addCell(new Label(j, i, arr[j]));
}
}
}
book.write();
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

JXL读取,写入Excel的更多相关文章

  1. JXL读取写入excel表格数据

    问题描述: 使用java的jxl包创建.写入excel表格数据 问题解决: (1)说明 (2)写入execel数据 注: 以上是写入数据需要调用的函数接口 注: 具体接口调用过程,如上所示 (3)读取 ...

  2. 使用C&num;实现读取&sol;写入Excel表

    C#实现写入Excel表 using System; using System.Reflection; using System.IO; using Microsoft.Office.Interop. ...

  3. POI读取&sol;写入Excel文件

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  4. python3 读取写入excel操作-win32com

    前面有写一篇是用xlrd操作excel的,这一篇是使用win32com来进行操作excel,个人推荐使用win32com. 要使用win32com组件,也需要先导入win32com包. # -*- c ...

  5. Python xlrd xlwt 读取写入Excel&period;

    import xlrd import xlwt #读取 xlrd.Book.encoding = "gbk" wb = xlrd.open_workbook(filename='s ...

  6. sql sever读取写入Excel总结

    主要用到openrowset,opendatasource系统函数,这两个函数任意一个都能完成任务 用这种方法可以实现Excel和sqlserver表之间的相互导入导出. 如果使用openrowset ...

  7. Java poi读取&comma;写入Excel&comma;处理row和cell可能为空的情况

    首先需要导入包 import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.NP ...

  8. 第十课: - 读取&sol;写入Excel&sol;Json格式数据

    第 10 课 从DataFrame到Excel 从Excel到DataFrame 从DataFrame到JSON 从JSON到DataFrame In [1]: import pandas as pd ...

  9. (最全最灵活地)利用Jxl工具包实现Excel表的内容读取 、写入(可向已有表中追加数据)

    1.引子 (1)读取 Jxl工具比较强大,可以方便地实现Excel表的读取和写入.另一款工具Poi也具有相似的功能,并且功能更多,运用也相对复杂.Poi读取Excel表内容时,需要先判断其内容格式,如 ...

随机推荐

  1. 二叉搜索树(Binary Search Tree)

    二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树. 二叉搜索树:一棵二叉树,可以为空:如果不为空,满足以下性质: 非空左子树的所有键值小于其根结点的键值: 非空右 ...

  2. ARM与x86之3--蝶变ARM

    http://blog.sina.com.cn/s/blog_6472c4cc0100lqr8.html 蝶变ARM 1929年开始的经济大萧条,改变了世界格局.前苏联的风景独好,使得相当多的人选择了 ...

  3. js对联广告代码,兼容性高

    var browser = { ie6: function () { return ((window.XMLHttpRequest == undefined) && (ActiveXO ...

  4. JavaScript八张思维导图—基本语句

    JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...

  5. LiveCharts文档-3开始-1安装

    原文:LiveCharts文档-3开始-1安装 LiveCharts文档-3开始-1安装 我不会逐字逐句翻译,有些过于基本的地方语言上会所略 三个平台我只翻译WinForm,其他的WPF和UWP大部分 ...

  6. Linux C 结构体初始化三种形式

    最近看linux代码时发现了结构体 struct 一种新的初始化方式,各方查找对比后总结如下: 1. 顺序初始化教科书上讲C语言结构体初始化是按照顺序方式来讲的,没有涉及到乱序的方式.顺序初始化str ...

  7. JavaScriptDom操作与高级应用(八)

    一:Dom操作基础与高级应用 Node接口也定义了一些所有节点类型都包含的属性和方法.

  8. 基元用户模式构造--互锁构造 Interlocked 实现的异步web请求实例

    using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using Syst ...

  9. php 账号不能同时登陆&comma;当其它地方登陆时&comma;当前账号失效

    解决的思路是每当用户登陆时我们必需记录当前的用户id和session_id,如果有人在其它地方用此账号登陆时,我们把此用户id对应的session_id的session文件删除,并重新记录当前的ses ...

  10. 【洛谷 P3338】 &lbrack;ZJOI2014&rsqb;力(FFT)

    题目链接 \[\Huge{E_i=\sum_{j=1}^{i-1}\frac{q_j}{(i-j)^2}-\sum_{j=i+1}^{n}\frac{q_j}{(i-j)^2}}\] 设\(A[i]= ...