package package1;
//public class ExcelOperation {
//
// /**
// * @param args
// */
// public static void main(String[] args) {
// // TODO Auto-generated method stub
//
// }
//
//}
import java.io.File;
import java.io.IOException;
import java.util.*;
import jxl.*;
import jxl.write.*;
/**
* <p>
* Title: 操作EXCEL文件
* </p>
* <p>
* Description: 本实例演示使用jxl包实现对excel文件的操作
* </p>
* <p>
* Copyright: Copyright (c) 2003
* </p>
* <p>
* Filename: myExcel.java
* </p>
*
*
* @version 1.0
*/
public class ExcelOperation {
Workbook workbook;
Sheet sheet;
/**
*<br>
* 方法说明:写入文件操作 <br>
* 输入参数: <br>
* 返回类型:
*/
public void write(String fileName,int column,int row ,WritableWorkbook workbook) { //fileName="myfile.xls" column=1,row=1
try {
// 创建一个可写入的excel文件对象
// WritableWorkbook workbook = Workbook.createWorkbook(new File(
// fileName));
// 使用第一张工作表,将其命名为“午餐记录”
// WritableSheet sheet = workbook.createSheet("午餐记录", 0);
WritableSheet sheet = workbook.getSheet(0);
// 表头
Label label0 = new Label(0, 0, "时间");
sheet.addCell(label0);
// Label label1 = new Label(1, 0, "姓名");
// sheet.addCell(label1);
// Label label2 = new Label(2, 0, "午餐标准");
// sheet.addCell(label2);
// Label label3 = new Label(3, 0, "实际费用");
// sheet.addCell(label3);
// // 格式化日期
// jxl.write.DateFormat df = new jxl.write.DateFormat(
// "yyyy-dd-MM hh:mm:ss");
// jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(
// df);
// jxl.write.DateTime labelDTF = new jxl.write.DateTime(0, 1,
// new java.util.Date(), wcfDF);
// sheet.addCell(labelDTF);
// 普通字符
Label labelCFC = new Label(column, row, "riverwind");
sheet.addCell(labelCFC);
// // 格式化数字
// jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
// WritableCellFormat wcfN = new WritableCellFormat(nf);
// jxl.write.Number labelNF = new jxl.write.Number(2, 1, 13.1415926,
// wcfN);
// sheet.addCell(labelNF);
//
// jxl.write.Number labelNNF = new jxl.write.Number(3, 1, 10.50001,
// wcfN);
// sheet.addCell(labelNNF);
// 关闭对象,释放资源
workbook.write();
workbook.close();
} catch (Exception e) {
System.out.println(e);
}
}
/**
*<br>
* 方法说明:读取excel文件一行数据 <br>
* 输入参数:int row指定的行数 <br>
* 返回类型:String〔〕结果数组
*/
public String[] readLine(int row) {
try {
// 获取数据表列数
int colnum = sheet.getColumns();
String[] rest = new String[colnum];
for (int i = 0; i < colnum; i++) {
String sTemp = read(i, row);
if (sTemp != null)
rest[i] = sTemp;
}
return rest;
} catch (Exception e) {
System.out.println("readLine err:" + e);
workbook.close();
return null;
}
}
/**
*<br>
* 方法说明:读取excel的指定单元数据 <br>
* 输入参数: <br>
* 返回类型:
*/
public String read(int col, int row) {
try {
// 获得单元数据
Cell a2 = sheet.getCell(col, row);
String rest = a2.getContents();
return rest;
} catch (Exception e) {
System.out.println("read err:" + e);
workbook.close();
return null;
}
}
/**
*<br>
* 方法说明:主方法,演示程序用 <br>
* 输入参数: <br>
* 返回类型:
*/
public static void main(String[] arges)
{
String fileName = "myfile_result.xls";
WritableWorkbook workbook = null;
try {
workbook = Workbook.createWorkbook(new File(
fileName));
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
ExcelOperation me = new ExcelOperation();
// me.write();
// 生成一个可读取的excel文件对象
me.workbook = Workbook.getWorkbook(new File("myfile.xls"));
// 使用第一个工作表
me.sheet = me.workbook.getSheet(0);
int global_j =0 ;
// 读一行记录,并显示出来
for(int i = 0 ,n =me.sheet.getRows(); i<n; i++)
{
String[] ssTemp = me.readLine(i);
for (int j = 0; j < ssTemp.length; j++)
{
System.out.println(ssTemp[i]);
global_j = j;
}
int column =global_j;
int row =i ;
// 写入数据
me.write("myfile.xls",column,row,workbook );
}
me.workbook.close();
} catch (Exception e) {
System.out.println(e);
}
}
}