`

Excel工具類

阅读更多

從網上大神找的代碼 封裝了一下 但是封裝的不好,大神可以繼續封裝 附錄有官方文檔

package com.su.testexcel;

import java.io.File;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableImage;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import android.util.Log;

public class ExcelUtil {

	/**
	 * 读取xml
	 * 
	 * @param uri
	 *            xml文件路径
	 */

	static public void readExcel(String uri) {
		try {
			Workbook book = Workbook.getWorkbook(new File(uri));
			Log.i("test", book.getNumberOfSheets() + "");// 获取工作表的数量
			Sheet sheet = book.getSheet(0);// 第一个工作表
			int Rows = sheet.getRows();// 行数
			int Cols = sheet.getColumns();// 列数

			for (int i = 0; i < Cols; ++i) {
				for (int j = 0; j < Rows; ++j) {
					// getCell(Col,Row)获得单元格的值
					System.out
							.print((sheet.getCell(i, j)).getContents() + "\t");
				}
				System.out.print("\n");
			}
			// 得到第一列第一行的单元格
			Cell cell1 = sheet.getCell(0, 0);
			String result = cell1.getContents();
			System.out.println(result);
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}

	/**
	 * 創建並寫入表格信息
	 * 
	 * @param uri
	 */
	static public void createExcel(String uri) {
		try {

			WritableWorkbook book = Workbook.createWorkbook(new File(uri));

			// 生成名为“第一页”的工作表,参数0表示这是第一页
			WritableSheet sheet1 = book.createSheet("第一页", 0);
			// 同理
			WritableSheet sheet2 = book.createSheet("第三页", 2);

			// 在Label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test
			Label label = new Label(0, 0, "第一行第一列");
			Label label1 = new Label(3, 1, "第二行第四列");

			// 将定义好的单元格添加到工作表中
			sheet1.addCell(label);
			sheet1.addCell(label1);

			/*
			 * 生成一个保存数字的单元格.必须使用Number的完整包路径,否则有语法歧义 保存在第二列第一行
			 */
			jxl.write.Number number = new jxl.write.Number(1, 0, 555.12541);
			sheet2.addCell(number);

			/*
			 * 添加图片功能,注意是png的
			 */
			sheet1.addImage(new WritableImage(5, 5, 2, 5, new File(
					"mnt/sdcard/nb.png")));

			// 写入数据并关闭文件
			book.write();
			book.close();
		} catch (Exception e) {
			System.out.println(e);
		}
	}

	/**
	 * 首先图片read原文件 然后覆盖原文件写入
	 * 
	 * @param
	 */
	static public void updateExcel(String uri) {
		try {
			Workbook rwb = Workbook.getWorkbook(new File(uri));
			WritableWorkbook wwb = Workbook.createWorkbook(new File(uri), rwb);// 创建一个新的xls
			WritableSheet ws = wwb.getSheet(0);

			// 在Label对象的构造函数中,元格位置是第一列第一行(0,0)以及单元格内容为test
			Label label = new Label(0, 0, "第一行第一列");
			Label label1 = new Label(3, 1, "第二行第四列");

			// 将定义好的单元格添加到工作表中
			ws.addCell(label);
			ws.addCell(label1);

			jxl.write.Number number = new jxl.write.Number(1, 5, 15.56);
			ws.addCell(number);

			wwb.write();
			wwb.close();
			rwb.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

}





jexcelapi_2_6_10.zip

2.53 MB, 下载次数: 0, 下载积分: e币 -2 元

TestExcel.zip

1.23 MB, 下载次数: 0, 下载积分: e币 -2



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics