package me.chyxion.xls;
import java.io.File;
import jxl.Workbook;
import jxl.write.Blank;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class WriteToExcelTable {
@SuppressWarnings("unused")
public static void main(String arg[]) {
//创建一个可写的工作薄对象
WritableWorkbook wwb = null;
try {
//已有的excel模板对象(可修改路劲)
File file1 = new File("D:/1.xls");
//即将创建的新的xls对象(可修改路径)
File file2 = new File("D:/2.xls");
//根据已有的工作薄创建一个可写的工作薄(可写模板,相当于复制了一份新的)
wwb = Workbook.createWorkbook(file2, Workbook.getWorkbook(file1));
//获取一个sheet
WritableSheet ws = wwb.getSheet(0);
String a = "nihaoma";
//方法一:创建新的单元格替换模板的单元格从而达到为单元格写入值得目的,在这儿一定要注意一定要先获取单元格的格式,否则是合并单元格这种、有边框这种不能正常显示
//获取坐标8与5的单元格对象
WritableCell wc = ws.getWritableCell(8,5);
//在源对象基础上实例化一个可写的单元格格式对象。wc.getCellFormat()只可读,不可写。
WritableCellFormat format=new WritableCellFormat( wc.getCellFormat());
if (a == null) {
//新建一个空的单元格
wc = new Blank(8, 5,wc.getCellFormat());
} else if (a instanceof String) {
//新建一个字符类型的单元格
wc = new Label(8, 5, a.toString(),format);
} else {
//新建一个数字类型的单元格
wc = new jxl.write.Number(8, 5, new Double(3.3),wc.getCellFormat());
}
//在ws这个sheet对象添加指定的wc对象单元格
ws.addCell(wc);
//写入
wwb.write();
//关闭可写工作簿
wwb.close();
//法一结束
/*法二 获取模板单元格并为单元格写入值
if(a==null){
//根据单元格不同类型写入相应类型的值
Label wx=(Label)ws.getWritableCell(8,5);
wx.setString("");
}
else if(a instanceof String){
//根据单元格不同类型写入相应类型的值
Label wx=(Label)ws.getWritableCell(8,5);
wx.setString("nihaoma ");
}
else{
//根据单元格不同类型写入相应类型的值
jxl.write.Number wx = (jxl.write.Number)ws.getWritableCell(8,5);
wx.setValue(3.3);
}
wwb.write();
wwb.close();
*/
} catch (Exception e) {
e.printStackTrace();
}
}
import java.io.File;
import jxl.Workbook;
import jxl.write.Blank;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class WriteToExcelTable {
@SuppressWarnings("unused")
public static void main(String arg[]) {
//创建一个可写的工作薄对象
WritableWorkbook wwb = null;
try {
//已有的excel模板对象(可修改路劲)
File file1 = new File("D:/1.xls");
//即将创建的新的xls对象(可修改路径)
File file2 = new File("D:/2.xls");
//根据已有的工作薄创建一个可写的工作薄(可写模板,相当于复制了一份新的)
wwb = Workbook.createWorkbook(file2, Workbook.getWorkbook(file1));
//获取一个sheet
WritableSheet ws = wwb.getSheet(0);
String a = "nihaoma";
//方法一:创建新的单元格替换模板的单元格从而达到为单元格写入值得目的,在这儿一定要注意一定要先获取单元格的格式,否则是合并单元格这种、有边框这种不能正常显示
//获取坐标8与5的单元格对象
WritableCell wc = ws.getWritableCell(8,5);
//在源对象基础上实例化一个可写的单元格格式对象。wc.getCellFormat()只可读,不可写。
WritableCellFormat format=new WritableCellFormat( wc.getCellFormat());
if (a == null) {
//新建一个空的单元格
wc = new Blank(8, 5,wc.getCellFormat());
} else if (a instanceof String) {
//新建一个字符类型的单元格
wc = new Label(8, 5, a.toString(),format);
} else {
//新建一个数字类型的单元格
wc = new jxl.write.Number(8, 5, new Double(3.3),wc.getCellFormat());
}
//在ws这个sheet对象添加指定的wc对象单元格
ws.addCell(wc);
//写入
wwb.write();
//关闭可写工作簿
wwb.close();
//法一结束
/*法二 获取模板单元格并为单元格写入值
if(a==null){
//根据单元格不同类型写入相应类型的值
Label wx=(Label)ws.getWritableCell(8,5);
wx.setString("");
}
else if(a instanceof String){
//根据单元格不同类型写入相应类型的值
Label wx=(Label)ws.getWritableCell(8,5);
wx.setString("nihaoma ");
}
else{
//根据单元格不同类型写入相应类型的值
jxl.write.Number wx = (jxl.write.Number)ws.getWritableCell(8,5);
wx.setValue(3.3);
}
wwb.write();
wwb.close();
*/
} catch (Exception e) {
e.printStackTrace();
}
}
}
如果想要能用的工程项目请到如下地址下载:http://download.csdn.net/detail/hu1992325/8488215