package com.excel.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import jxl.Cell;
import jxl.CellType;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
public class ExcelOperater
{
public static void main(String[] args)
{
jxl.Workbook readwb = null;
try
{
// 构建Workbook对象, 只读Workbook对象
// 直接从本地文件创建Workbook
InputStream instream = new FileInputStream(
"F:/tomcat7/webapps/Excel/upload/1.xls");
readwb = Workbook.getWorkbook(instream);
// Sheet的下标是从0开始
// 获取第一张Sheet表
Sheet readsheet = readwb.getSheet(0);
// 获得第一行第一列单元的值
Cell c00 = readsheet.getCell(2, 2);
// 通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
System.out.println("-----------------");
System.out.println(c00.getContents());
System.out.println("------------------");
// 获得cell具体类型值的方式
if (c00.getType() == CellType.LABEL)
{
LabelCell labelc00 = (LabelCell) c00;
strc00 = labelc00.getString();
}
// 获取Sheet表中所包含的总列数
int rsColumns = readsheet.getColumns();
// 获取Sheet表中所包含的总行数
int rsRows = readsheet.getRows();
// 获取指定单元格的对象引用
for (int i = 0; i < rsRows; i++)
{
for (int j = 0; j < rsColumns; j++)
{
Cell cell = readsheet.getCell(j, i);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
// 利用已经创建的Excel工作薄,创建新的可写入的Excel工作薄
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(
"F:/tomcat7/webapps/Excel/upload/11.xls"), readwb);
// 读取第一张工作表
jxl.write.WritableSheet ws = wwb.createSheet("第一页", 0);
// 获得特定单元格的对象
Label label = new Label(0, 0, c00.getContents());
System.out.println("label value:" + label.getContents());
ws.addCell(label);
/*
* //读取excel中的全部内容写入到新的excel中 //读取第一张工作表
*
* jxl.write.WritableSheet ws = wwb.getSheet(0);
*
* //获得第一个单元格对象
*
* jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
*/
// 写入Excel对象
wwb.write();
wwb.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
readwb.close();
}
}
}