Java 怎么把 excel文件导入到数据库??? 数据库是Oracle哪位大哥有例子和代码,发来看看没什么思路 可邮寄:[email protected].谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java有个jxl操作excel文件的包,网上有很多小例子。。google一下,百度不行 jxl和poi都可以,jxl使用起来可能更容易一些 同上 jxl 道理就是要找到你的excel文件存放的路径 然后由jxl的一个类进行实例化 然后就能操作了读取的每行每列的数据 一般通过批处理 存放到数据库 package com.C10.C1001.util;import java.io.FileInputStream;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement;import java.util.Date;import jxl.Cell; import jxl.Sheet;import jxl.Workbook;import java.lang.StringBuffer;import org.springframework.context.ApplicationContext;import org.springframework.context.support.FileSystemXmlApplicationContext;import org.springframework.jdbc.core.support.JdbcDaoSupport;import java.sql.PreparedStatement; public class ExtractExcel extends JdbcDaoSupport{//将excle文件导入数据库 static String colum_name=""; static int n=0; static String table_name="零件类实测库";//表名称 static String[]row_data;//储存数据的数组 static String ID="E:\\资料\\data.xls"; public void read_data(String table_name,String ID)//读数据 { jxl.Workbook rwb = null; StringBuffer colum_temp=new StringBuffer(""); try { InputStream is = new FileInputStream(ID); rwb= Workbook.getWorkbook(is);//将读取的excle文件建立workbook } catch (Exception e) { e.printStackTrace(); } Sheet rs = rwb.getSheet(table_name);//选择表 Cell[] colum= rs.getRow(0);//将第一行的数据分别读到colum中 n=colum.length;//列的个数 row_data=new String[rs.getRows()];//初始化数据的大小 for(int i=0;i<colum.length;i++)//去掉数据中的括号用下划线代替 { String a=colum[i].getContents(); StringBuffer temp=new StringBuffer(a); if(a.contains("(")&&a.contains(")")) { for(int j=0;j<temp.length();j++) { if(temp.charAt(j)=='(') { temp.deleteCharAt(j); temp.insert(j, '_'); } if(temp.charAt(j)==')') { temp.deleteCharAt(j); } } } temp.append(" ").append("varchar(100)").append(","); a=temp.toString(); colum_temp.append(a); } colum_name=colum_temp.substring(0,colum_temp.length()-1); //生成sql语句 System.out.println(colum_name); for(int i=1;i<rs.getRows();i++)//读取数据,当遇到空格时用null代替 { StringBuffer a=new StringBuffer(""); String s; for(int j=0;j<colum.length;j++) { Cell temp=rs.getCell(j, i); s=temp.getContents(); if(!(s.equals(""))) { a.append(s).append(","); } if(s.equals("")) { s="null"; a.append(s).append(","); } row_data[i-1]=a.substring(0, a.length()-1); } // System.out.println(row_data[i-1]); } } public void insert_data(String []row_data)throws Exception//插入数据 { StringBuffer a=new StringBuffer(""); String b=""; System.out.println(n); for(int i=0;i<n;i++) { a.append("?").append(","); } b=a.substring(0, a.length()-1); System.out.println(b); Connection conn = null; int count=0; try{ PreparedStatement pstmt ; conn = this.getJdbcTemplate().getDataSource().getConnection(); pstmt =(PreparedStatement)conn.prepareStatement("insert into data_xls values"+"("+b+")");//取得连接 for(int i=0;i<row_data.length-1;i++)//插入数据,遇到null的用空格代替 { String[]temp=row_data[i].split(","); for(int j=1;j<=n;j++) { System.out.print(temp[j-1] + " "); if(!temp[j-1].equals("null"))pstmt.setString(j, temp[j-1]); if(temp[j-1].equals("null"))pstmt.setString(j, " "); } System.out.println(); count++; pstmt.addBatch(); //将一组参数添加到此 PreparedStatement 对象的批处理命令中 if(0==count%1000)//读取1000次后用执行一次 { pstmt.executeBatch(); conn.commit();//使自从上一次提交/回滚以来进行的所有更改成为持久更改,并释放此 Connection 对象当前保存的所有数据库锁定。 System.out.println("插入数据成功"); } } pstmt.executeBatch();//处理循环里未处理的数据 conn.commit(); System.out.println("插入数据成功"); pstmt.close();//关闭对象 }catch(Throwable e){ System.out.println("插入数据失败"); e.printStackTrace(); }finally{ if(conn != null) try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } public void createResultTable(String colum)throws Exception{//创建表 Connection conn = null; System.out.println(colum); try{ conn = this.getJdbcTemplate().getDataSource().getConnection(); Statement s = conn.createStatement(); String sql = ""; sql="drop table data_xls"; try{ s.execute(sql); System.out.println("删除成功"); }catch(Exception e) { System.out.println("无data_xls表"); } sql = "create table data_xls" +"("+colum+")"; try{ s.execute(sql); System.out.println("创建成功"); } catch(Exception e) { System.out.println("创建失败"); } }catch(Throwable e){ System.out.println("exception thrown:"); e.printStackTrace(); throw new Exception(); }finally{ if(conn != null) try{ conn.close(); }catch(SQLException e){ e.printStackTrace(); } } } public static void main (String[] args) { ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml"); ExtractExcel data= (ExtractExcel)context.getBean("ExtractExcel");//数据库连接 data.read_data(table_name, ID);//读数据 Date begain0=null; Date begain1=null; Date end0=null; Date end1=null; long a,b; begain0=new Date(); try{ data.createResultTable(colum_name); }catch(Exception e){ System.out.print("创建失败"); } //创建表 end0=new Date(); begain1=new Date(); try{ data.insert_data(row_data); }catch(Exception e){ } //插入数据 end1=new Date(); a=end0.getTime()-begain0.getTime(); b=end1.getTime()-begain1.getTime(); System.out.print(a+","+b); } }这个程序的效率还可以 已经运行测试过 需要帮助联系[email protected] Excel自带的VBA已经够强大了,绝对能满足你的要求,而且学习也来的快 jxl,用这个类就OK可以搞定啦^_^ 读取Excel的话,Excel肯定是固定格式的啊,然后就用jxl来读了,poi没用过,不知道其实baidu,google更好找到例子 package com.ddns.excel;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFCellStyle;import org.apache.poi.hssf.usermodel.HSSFFont;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.hssf.util.Region;/** * Created by IntelliJ IDEA. * User: Administrator * Date: 2010-6-28 * Time: 10:56:48 * To change this template use File | Settings | File Templates. */public class ExcelFile { /** * 新建一个Excel文件,里面添加5行5列的内容,再添加两个高度为2的大单元格。 * * @param fileName */ public void writeExcel(String fileName) { //目标文件 File file = new File(fileName); FileOutputStream fOut = null; try { // 创建新的Excel 工作簿 HSSFWorkbook workbook = new HSSFWorkbook(); // 在Excel工作簿中建一工作表,其名为缺省值。 // 也可以指定工作表的名字。 HSSFSheet sheet = workbook.createSheet("Test_Table"); // 创建字体,红色、粗体 HSSFFont font = workbook.createFont(); font.setColor(HSSFFont.COLOR_RED); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 创建单元格的格式,如居中、左对齐等 HSSFCellStyle cellStyle = workbook.createCellStyle(); // 水平方向上居中对齐 cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 垂直方向上居中对齐 cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // 设置字体 cellStyle.setFont(font); //下面将建立一个4行3列的表。第一行为表头。 int rowNum = 0;//行标 int colNum = 0;//列标 //建立表头信息 // 在索引0的位置创建行(最顶端的行) HSSFRow row = sheet.createRow((short) rowNum); // 单元格 HSSFCell cell = null; for (colNum = 0; colNum < 5; colNum++) { // 在当前行的colNum列上创建单元格 cell = row.createCell((short) colNum); // 定义单元格为字符类型,也可以指定为日期类型、数字类型 cell.setCellType(HSSFCell.CELL_TYPE_STRING); // 定义编码方式,为了支持中文,这里使用了ENCODING_UTF_16 cell.setEncoding(HSSFCell.ENCODING_UTF_16); // 为单元格设置格式 cell.setCellStyle(cellStyle); // 添加内容至单元格 cell.setCellValue("表头名-" + colNum); } rowNum++; for (; rowNum < 5; rowNum++) { //新建第rowNum行 row = sheet.createRow((short) rowNum); for (colNum = 0; colNum < 5; colNum++) { //在当前行的colNum位置创建单元格 cell = row.createCell((short) colNum); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellStyle(cellStyle); cell.setCellValue("值-" + rowNum + "-" + colNum); } } //合并单元格 //先创建2行5列的单元格,然后将这些单元格合并为2个大单元格 rowNum = 5; for (; rowNum < 7; rowNum++) { row = sheet.createRow((short) rowNum); for (colNum = 0; colNum < 5; colNum++) { //在当前行的colNum位置创建单元格 cell = row.createCell((short) colNum); } } //建立第一个大单元格,高度为2,宽度为2 rowNum = 5; colNum = 0; Region region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 1)); sheet.addMergedRegion(region); //获得第一个大单元格 cell = sheet.getRow(rowNum).getCell((short) colNum); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellStyle(cellStyle); cell.setCellValue("第一个大单元格"); //建立第二个大单元格,高度为2,宽度为3 colNum = 2; region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 2)); sheet.addMergedRegion(region); //获得第二个大单元格 cell = sheet.getRow(rowNum).getCell((short) colNum); cell.setEncoding(HSSFCell.ENCODING_UTF_16); cell.setCellStyle(cellStyle); cell.setCellValue("第二个大单元格"); //工作薄建立完成,下面将工作薄存入文件 //新建一输出文件流 fOut = new FileOutputStream(file); //把相应的Excel 工作簿存盘 workbook.write(fOut); fOut.flush(); //操作结束,关闭文件 fOut.close(); System.out .println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath()); } catch (Exception e) { System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e); } finally { if (fOut != null){ try { fOut.close(); } catch (IOException e1) { } } } } /** * 读Excel文件内容 * @param fileName */ public void readExcel(String fileName) { File file = new File(fileName); FileInputStream in = null; try { //创建对Excel工作簿文件的引用 in = new FileInputStream(file); HSSFWorkbook workbook = new HSSFWorkbook(in); //创建对工作表的引用。 //这里使用按名引用 HSSFSheet sheet = workbook.getSheet("Test_Table"); //也可用getSheetAt(int index)按索引引用, //在Excel文档中,第一张工作表的缺省索引是0,其语句为: //HSSFSheet sheet = workbook.getSheetAt(0); //下面读取Excel的前5行的数据 System.out.println("下面是Excel文件" + file.getAbsolutePath() + "的内容:"); HSSFRow row = null; HSSFCell cell = null; int rowNum = 0;//行标 int colNum = 0;//列标 for (; rowNum < 5; rowNum++) { //获取第rowNum行 row = sheet.getRow((short) rowNum); for (colNum = 0; colNum < 5; colNum++) { // 获取当前行的colNum位置的单元格 cell = row.getCell((short) colNum); System.out.print(cell.getStringCellValue() + "\t"); } //换行 System.out.println(); } in.close(); } catch (Exception e) { System.out.println("读取Excel文件" + file.getAbsolutePath() + "失败:" + e); } finally { if (in != null){ try { in.close(); } catch (IOException e1) { } } } } public static void main(String[] args) throws Exception { ExcelFile excel = new ExcelFile(); String fileName = "D:\\记录明细.xls"; excel.writeExcel(fileName); excel.readExcel(fileName); }} JAVA邮件问题,急救,撒分100!!!!!!! JSP出错不会调试,在线求高手救!错误java.lang.NullPointerException TreePanel控件使用过程中无法显示 jsp 奇怪的问题 java实现文件上传下载 兑换诺言1 问一个使用Hibernate时的一个错误 包中的函数返回一个double型数据。我的为什么不能接收啊????? 怎样用jbuilder8写jsp 一个EXCEL表格打不开,但别的都没事,请问是怎么回事 jsp乱码问题相关 jsp局域网访问问题
读取的每行每列的数据 一般通过批处理 存放到数据库
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import java.lang.StringBuffer;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import java.sql.PreparedStatement;
public class ExtractExcel extends JdbcDaoSupport{//将excle文件导入数据库
static String colum_name="";
static int n=0;
static String table_name="零件类实测库";//表名称
static String[]row_data;//储存数据的数组
static String ID="E:\\资料\\data.xls"; public void read_data(String table_name,String ID)//读数据
{
jxl.Workbook rwb = null;
StringBuffer colum_temp=new StringBuffer("");
try
{
InputStream is = new FileInputStream(ID);
rwb= Workbook.getWorkbook(is);//将读取的excle文件建立workbook
}
catch (Exception e)
{
e.printStackTrace();
}
Sheet rs = rwb.getSheet(table_name);//选择表
Cell[] colum= rs.getRow(0);//将第一行的数据分别读到colum中
n=colum.length;//列的个数
row_data=new String[rs.getRows()];//初始化数据的大小
for(int i=0;i<colum.length;i++)//去掉数据中的括号用下划线代替
{
String a=colum[i].getContents();
StringBuffer temp=new StringBuffer(a);
if(a.contains("(")&&a.contains(")"))
{
for(int j=0;j<temp.length();j++)
{
if(temp.charAt(j)=='(')
{
temp.deleteCharAt(j);
temp.insert(j, '_');
}
if(temp.charAt(j)==')')
{
temp.deleteCharAt(j);
}
}
}
temp.append(" ").append("varchar(100)").append(",");
a=temp.toString();
colum_temp.append(a);
}
colum_name=colum_temp.substring(0,colum_temp.length()-1); //生成sql语句
System.out.println(colum_name);
for(int i=1;i<rs.getRows();i++)//读取数据,当遇到空格时用null代替
{
StringBuffer a=new StringBuffer("");
String s;
for(int j=0;j<colum.length;j++)
{
Cell temp=rs.getCell(j, i);
s=temp.getContents(); if(!(s.equals("")))
{
a.append(s).append(",");
}
if(s.equals(""))
{
s="null";
a.append(s).append(",");
}
row_data[i-1]=a.substring(0, a.length()-1);
}
// System.out.println(row_data[i-1]);
} }
public void insert_data(String []row_data)throws Exception//插入数据
{
StringBuffer a=new StringBuffer("");
String b="";
System.out.println(n);
for(int i=0;i<n;i++)
{
a.append("?").append(",");
}
b=a.substring(0, a.length()-1);
System.out.println(b);
Connection conn = null;
int count=0;
try{
PreparedStatement pstmt ;
conn = this.getJdbcTemplate().getDataSource().getConnection();
pstmt =(PreparedStatement)conn.prepareStatement("insert into data_xls values"+"("+b+")");//取得连接
for(int i=0;i<row_data.length-1;i++)//插入数据,遇到null的用空格代替
{
String[]temp=row_data[i].split(",");
for(int j=1;j<=n;j++)
{
System.out.print(temp[j-1] + " ");
if(!temp[j-1].equals("null"))pstmt.setString(j, temp[j-1]);
if(temp[j-1].equals("null"))pstmt.setString(j, " ");
}
System.out.println();
count++;
pstmt.addBatch(); //将一组参数添加到此 PreparedStatement 对象的批处理命令中
if(0==count%1000)//读取1000次后用执行一次
{
pstmt.executeBatch();
conn.commit();//使自从上一次提交/回滚以来进行的所有更改成为持久更改,并释放此 Connection 对象当前保存的所有数据库锁定。
System.out.println("插入数据成功");
}
}
pstmt.executeBatch();//处理循环里未处理的数据
conn.commit();
System.out.println("插入数据成功");
pstmt.close();//关闭对象
}catch(Throwable e){
System.out.println("插入数据失败");
e.printStackTrace();
}finally{
if(conn != null) try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
public void createResultTable(String colum)throws Exception{//创建表 Connection conn = null;
System.out.println(colum);
try{
conn = this.getJdbcTemplate().getDataSource().getConnection();
Statement s = conn.createStatement();
String sql = "";
sql="drop table data_xls";
try{
s.execute(sql);
System.out.println("删除成功");
}catch(Exception e)
{
System.out.println("无data_xls表");
}
sql = "create table data_xls" +"("+colum+")";
try{
s.execute(sql);
System.out.println("创建成功");
}
catch(Exception e)
{
System.out.println("创建失败");
}
}catch(Throwable e){
System.out.println("exception thrown:");
e.printStackTrace();
throw new Exception();
}finally{
if(conn != null) try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
public static void main (String[] args)
{
ApplicationContext context = new FileSystemXmlApplicationContext("beans-config.xml");
ExtractExcel data= (ExtractExcel)context.getBean("ExtractExcel");//数据库连接
data.read_data(table_name, ID);//读数据
Date begain0=null;
Date begain1=null;
Date end0=null;
Date end1=null;
long a,b;
begain0=new Date();
try{
data.createResultTable(colum_name);
}catch(Exception e){
System.out.print("创建失败");
} //创建表
end0=new Date();
begain1=new Date();
try{
data.insert_data(row_data);
}catch(Exception e){
} //插入数据
end1=new Date();
a=end0.getTime()-begain0.getTime();
b=end1.getTime()-begain1.getTime();
System.out.print(a+","+b);
}
}这个程序的效率还可以 已经运行测试过 需要帮助联系[email protected]
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
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.hssf.util.Region;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2010-6-28
* Time: 10:56:48
* To change this template use File | Settings | File Templates.
*/
public class ExcelFile {
/**
* 新建一个Excel文件,里面添加5行5列的内容,再添加两个高度为2的大单元格。
*
* @param fileName
*/
public void writeExcel(String fileName) { //目标文件
File file = new File(fileName);
FileOutputStream fOut = null;
try {
// 创建新的Excel 工作簿
HSSFWorkbook workbook = new HSSFWorkbook(); // 在Excel工作簿中建一工作表,其名为缺省值。
// 也可以指定工作表的名字。
HSSFSheet sheet = workbook.createSheet("Test_Table"); // 创建字体,红色、粗体
HSSFFont font = workbook.createFont();
font.setColor(HSSFFont.COLOR_RED);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 创建单元格的格式,如居中、左对齐等
HSSFCellStyle cellStyle = workbook.createCellStyle();
// 水平方向上居中对齐
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// 垂直方向上居中对齐
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
// 设置字体
cellStyle.setFont(font); //下面将建立一个4行3列的表。第一行为表头。
int rowNum = 0;//行标
int colNum = 0;//列标
//建立表头信息
// 在索引0的位置创建行(最顶端的行)
HSSFRow row = sheet.createRow((short) rowNum);
// 单元格
HSSFCell cell = null;
for (colNum = 0; colNum < 5; colNum++) {
// 在当前行的colNum列上创建单元格
cell = row.createCell((short) colNum); // 定义单元格为字符类型,也可以指定为日期类型、数字类型
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
// 定义编码方式,为了支持中文,这里使用了ENCODING_UTF_16
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
// 为单元格设置格式
cell.setCellStyle(cellStyle); // 添加内容至单元格
cell.setCellValue("表头名-" + colNum);
}
rowNum++;
for (; rowNum < 5; rowNum++) {
//新建第rowNum行
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
//在当前行的colNum位置创建单元格
cell = row.createCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
cell.setCellValue("值-" + rowNum + "-" + colNum);
}
} //合并单元格
//先创建2行5列的单元格,然后将这些单元格合并为2个大单元格
rowNum = 5;
for (; rowNum < 7; rowNum++) {
row = sheet.createRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
//在当前行的colNum位置创建单元格
cell = row.createCell((short) colNum);
}
}
//建立第一个大单元格,高度为2,宽度为2
rowNum = 5;
colNum = 0;
Region region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 1));
sheet.addMergedRegion(region);
//获得第一个大单元格
cell = sheet.getRow(rowNum).getCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
cell.setCellValue("第一个大单元格"); //建立第二个大单元格,高度为2,宽度为3
colNum = 2;
region = new Region(rowNum, (short) colNum, (rowNum + 1),(short) (colNum + 2));
sheet.addMergedRegion(region);
//获得第二个大单元格
cell = sheet.getRow(rowNum).getCell((short) colNum);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellStyle(cellStyle);
cell.setCellValue("第二个大单元格"); //工作薄建立完成,下面将工作薄存入文件
//新建一输出文件流
fOut = new FileOutputStream(file);
//把相应的Excel 工作簿存盘
workbook.write(fOut);
fOut.flush();
//操作结束,关闭文件
fOut.close(); System.out
.println("Excel文件生成成功!Excel文件名:" + file.getAbsolutePath());
} catch (Exception e) {
System.out.println("Excel文件" + file.getAbsolutePath() + "生成失败:" + e);
} finally {
if (fOut != null){
try {
fOut.close();
} catch (IOException e1) {
}
}
}
} /**
* 读Excel文件内容
* @param fileName
*/
public void readExcel(String fileName) {
File file = new File(fileName);
FileInputStream in = null;
try {
//创建对Excel工作簿文件的引用
in = new FileInputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook(in); //创建对工作表的引用。
//这里使用按名引用
HSSFSheet sheet = workbook.getSheet("Test_Table");
//也可用getSheetAt(int index)按索引引用,
//在Excel文档中,第一张工作表的缺省索引是0,其语句为:
//HSSFSheet sheet = workbook.getSheetAt(0); //下面读取Excel的前5行的数据
System.out.println("下面是Excel文件" + file.getAbsolutePath() + "的内容:");
HSSFRow row = null;
HSSFCell cell = null;
int rowNum = 0;//行标
int colNum = 0;//列标
for (; rowNum < 5; rowNum++) {
//获取第rowNum行
row = sheet.getRow((short) rowNum);
for (colNum = 0; colNum < 5; colNum++) {
// 获取当前行的colNum位置的单元格
cell = row.getCell((short) colNum);
System.out.print(cell.getStringCellValue() + "\t");
}
//换行
System.out.println();
} in.close();
} catch (Exception e) {
System.out.println("读取Excel文件" + file.getAbsolutePath() + "失败:" + e);
} finally {
if (in != null){
try {
in.close();
} catch (IOException e1) {
}
}
}
}
public static void main(String[] args) throws Exception {
ExcelFile excel = new ExcelFile();
String fileName = "D:\\记录明细.xls";
excel.writeExcel(fileName);
excel.readExcel(fileName);
}
}