下载地址http://download.csdn.net/detail/u010634066/8302683 下载直接用
首先要下载 poi包和jxl包
读取部分:
代码语言:javascript复制import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
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;
/**============================================================
* 版权:
* 包:
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2014-12-25 shirenchuang
* ============================================================*/
/**
* @author shirenchuang
*
*/
public class ReadExecl {
/*private String fileUrl;
public ReadExecl(String fileUrl) {
// TODO Auto-generated constructor stub
this.fileUrl = fileUrl;
}*/
// File file = new File(fileUrl);
/**
* 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行
* @param file 读取数据的源Excel
* @param ignoreRows 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1
* @return 读出的Excel中数据的内容
* @throws FileNotFoundException
* @throws IOException
*/
public static List getData(File file,int ignoreRows) throws IOException{
//返回所有工作表的数据
List result = new ArrayList();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
POIFSFileSystem fs = new POIFSFileSystem(in);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFCell cell = null;
wb.getNumberOfSheets();
//多个工作表
for(int i=0;i= 0; i--) {
if (str.charAt(i) != 0x20) {
break;
}
length--;
}
return str.substring(0, length);
}
}
写入部分
代码语言:javascript复制import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
/**============================================================
* 版权: 元亨通信 版权所有 (c) 2002 - 2012
* 包:
* 修改记录:
* 日期 作者 内容
* =============================================================
* 2014-12-25 shirenchuang
* ============================================================*/
/**
* @author shirenchuang
*
*/
public class WriterExecl {
private static String writeUrl ="";
public String getWriteUrl() {
return writeUrl;
}
public void setWriteUrl(String writeUrl) {
this.writeUrl = writeUrl;
}
public WriterExecl(String writeUrl ) {
// TODO Auto-generated constructor stub
this.writeUrl= writeUrl;
}
/**
*
* 这是单纯的写EXCEL表格
* **/
public static void writeEx(int row,String[][] data){
WritableWorkbook wwb = null;
Label label = null;
String file =writeUrl;
try {
// 创建可写入的工作簿对象
wwb = Workbook.createWorkbook(new File(file));
if (wwb != null) {
// 在工作簿里创建可写入的工作表,第一个参数为工作表名,第二个参数为该工作表的所在位置
WritableSheet ws = wwb.createSheet("test", 0);
if (ws != null) {
/* 添加表结构 */
// 行
for (int i=0;i
主方法:
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class main {
public static void main(String[] args) throws IOException{
ReadExecl re = new ReadExecl();
File file = new File("C:/Users/Administrator/Desktop/test.xls");
WriterExecl we = new WriterExecl("C:/Users/Administrator/Desktop/衢州用户表.xls");
List result = new ArrayList();
//不忽略行 从0开始
result = re.getData(file, 0);
//有多少行
int row = result.get(0).length;
//写入 传入参数row 不传column column是不确定的
we.writeEx(row,result.get(0));
}
}