java中导入导出Excel表格(jxl)

来源:互联网 发布:易语言qq盗号源码 编辑:程序博客网 时间:2024/05/16 01:11



读取Excel数据表的第一步是创建Workbook

创建了Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)

得到了Sheet,我们就可以通过它来访问Excel Cell(术语:单元格)

package com.dsh.javaexcel.util;import java.io.File;import java.io.IOException;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;import jxl.write.WriteException;import jxl.write.biff.RowsExceededException;public class ReadWriteExcelUtil {/** * @param args */public static void main(String[] args) {String fileName = "d:" + File.separator + "test.xls";System.out.println(ReadWriteExcelUtil.readExcel(fileName));String fileName1 = "d:" + File.separator + "abc.xls";ReadWriteExcelUtil.writeExcel(fileName1);}/** * 從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();}}}}

0 0
原创粉丝点击