package
org.eagle.jexcel;
import jxl. * ;
import jxl.format.UnderlineStyle;
import jxl.write. * ;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io. * ;
/**
*
* <p>
* Title:
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company:
* </p>
*
* @author eagle
* @version 1.0
*/
public class JexcelHandle {
public JexcelHandle() {
}
public static void writeExcel(OutputStream os) {
try {
WritableWorkbook wwb = Workbook.createWorkbook(os);
// 创建excel工作表 镇定名称和位置
WritableSheet ws = wwb.createSheet( " card sheet " , 0 );
// 1.添加Label对象
Label label = new Label( 0 , 0 , " 编号 " );
ws.addCell(label);
Label label2 = new Label( 1 , 0 , " 冲值卡号 " );
ws.addCell(label2);
Label label3 = new Label( 2 , 0 , " 冲值卡密码 " );
ws.addCell(label3);
Label label4 = new Label( 3 , 0 , " 最晚冲值时间 " );
ws.addCell(label4);
Label label5 = new Label( 4 , 0 , " 冲值的面值(TC)(1RMB=100TC) " );
ws.addCell(label5);
Label label6 = new Label( 5 , 0 , " 是否作废 " );
ws.addCell(label6);
Number labelN = new Number( 0 , 1 , 3.1415926 );
ws.addCell(labelN);
// 通过 记录集的方式可以得到数据库中的相关的记录
// WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
// WritableFont.BOLD, true);
// WritableCellFormat wcf = new WritableCellFormat(wf);
// Label labelcf = new Label(1, 0, "this is a label test", wcf);
// ws.addCell(labelcf);
// // 2.添加Number对象
// Number labelN = new Number(0,1,3.1415926);
// ws.addCell(labelN);
//
// // 添加带有formatting的Number对象
// NumberFormat nf = new NumberFormat("#.##");
// WritableCellFormat wcfN = new WritableCellFormat(nf);
// Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
// ws.addCell(labelNF);
//
// // 3.添加Boolean对象
// Boolean labelB = new jxl.write.Boolean(0,2,false);
// ws.addCell(labelB);
//
// // 4.添加DateTime对象
// jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new
// java.util.Date());
// ws.addCell(labelDT);
//
// // 添加带有formatting的DateFormat对象
// DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
// WritableCellFormat wcfDF = new WritableCellFormat(df);
// DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
// ws.addCell(labelDTF);
//
// // 添加图片对象,jxl只支持png格式图片
// File image = new File("f:\\x.png");
// WritableImage wimage = new
// WritableImage(0,1,2,2,image); // 0,1分别代表x,y.2,2代表宽和高占的单元格数
// ws.addImage(wimage);
// 写入工作表
wwb.write();
wwb.close();
} catch (Exception e) {
System.out.println( "" + e);
}
}
public static void modifyExcel(File file1, File file2) {
try {
// 先copy 在操作第二个文件修改,
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2, rwb); // copy
WritableSheet ws = wwb.getSheet( 0 );
WritableCell wc = ws.getWritableCell( 0 , 0 );
// 判断单元格的类型,做出相应的转换
Label label = (Label) wc;
label.setString( " 1 " );
wwb.write();
wwb.close();
rwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 读取Excel
*
* @param filePath
*/
public static void readExcel(String filePath) {
try {
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
// Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
Sheet st = rwb.getSheet( " original " );
Cell c00 = st.getCell( 0 , 0 );
// 通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
// 获得cell具体类型值的方式
if (c00.getType() == CellType.LABEL) {
LabelCell labelc00 = (LabelCell) c00;
strc00 = labelc00.getString();
}
// 输出
System.out.println(strc00);
// 关闭
rwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
try {
File fileWrite = new File( " f:/cardWrite.xls " );
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
JexcelHandle.writeExcel(os);
JexcelHandle.modifyExcel( new File( " f:/cardWrite.xls " ), new File(
" f:/cardWrite2.xls " ));
} catch (Exception e) {
System.out.println(e);
}
}
}
在网上看了写源码在结合自己的。不要忘了下载jxl包哟。http://www.andykhan.com/jexcelapi/
import jxl. * ;
import jxl.format.UnderlineStyle;
import jxl.write. * ;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io. * ;
/**
*
* <p>
* Title:
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company:
* </p>
*
* @author eagle
* @version 1.0
*/
public class JexcelHandle {
public JexcelHandle() {
}
public static void writeExcel(OutputStream os) {
try {
WritableWorkbook wwb = Workbook.createWorkbook(os);
// 创建excel工作表 镇定名称和位置
WritableSheet ws = wwb.createSheet( " card sheet " , 0 );
// 1.添加Label对象
Label label = new Label( 0 , 0 , " 编号 " );
ws.addCell(label);
Label label2 = new Label( 1 , 0 , " 冲值卡号 " );
ws.addCell(label2);
Label label3 = new Label( 2 , 0 , " 冲值卡密码 " );
ws.addCell(label3);
Label label4 = new Label( 3 , 0 , " 最晚冲值时间 " );
ws.addCell(label4);
Label label5 = new Label( 4 , 0 , " 冲值的面值(TC)(1RMB=100TC) " );
ws.addCell(label5);
Label label6 = new Label( 5 , 0 , " 是否作废 " );
ws.addCell(label6);
Number labelN = new Number( 0 , 1 , 3.1415926 );
ws.addCell(labelN);
// 通过 记录集的方式可以得到数据库中的相关的记录
// WritableFont wf = new WritableFont(WritableFont.TIMES, 18,
// WritableFont.BOLD, true);
// WritableCellFormat wcf = new WritableCellFormat(wf);
// Label labelcf = new Label(1, 0, "this is a label test", wcf);
// ws.addCell(labelcf);
// // 2.添加Number对象
// Number labelN = new Number(0,1,3.1415926);
// ws.addCell(labelN);
//
// // 添加带有formatting的Number对象
// NumberFormat nf = new NumberFormat("#.##");
// WritableCellFormat wcfN = new WritableCellFormat(nf);
// Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
// ws.addCell(labelNF);
//
// // 3.添加Boolean对象
// Boolean labelB = new jxl.write.Boolean(0,2,false);
// ws.addCell(labelB);
//
// // 4.添加DateTime对象
// jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new
// java.util.Date());
// ws.addCell(labelDT);
//
// // 添加带有formatting的DateFormat对象
// DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
// WritableCellFormat wcfDF = new WritableCellFormat(df);
// DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
// ws.addCell(labelDTF);
//
// // 添加图片对象,jxl只支持png格式图片
// File image = new File("f:\\x.png");
// WritableImage wimage = new
// WritableImage(0,1,2,2,image); // 0,1分别代表x,y.2,2代表宽和高占的单元格数
// ws.addImage(wimage);
// 写入工作表
wwb.write();
wwb.close();
} catch (Exception e) {
System.out.println( "" + e);
}
}
public static void modifyExcel(File file1, File file2) {
try {
// 先copy 在操作第二个文件修改,
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2, rwb); // copy
WritableSheet ws = wwb.getSheet( 0 );
WritableCell wc = ws.getWritableCell( 0 , 0 );
// 判断单元格的类型,做出相应的转换
Label label = (Label) wc;
label.setString( " 1 " );
wwb.write();
wwb.close();
rwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 读取Excel
*
* @param filePath
*/
public static void readExcel(String filePath) {
try {
InputStream is = new FileInputStream(filePath);
Workbook rwb = Workbook.getWorkbook(is);
// Sheet st = rwb.getSheet("0")这里有两种方法获取sheet表,1为名字,而为下标,从0开始
Sheet st = rwb.getSheet( " original " );
Cell c00 = st.getCell( 0 , 0 );
// 通用的获取cell值的方式,返回字符串
String strc00 = c00.getContents();
// 获得cell具体类型值的方式
if (c00.getType() == CellType.LABEL) {
LabelCell labelc00 = (LabelCell) c00;
strc00 = labelc00.getString();
}
// 输出
System.out.println(strc00);
// 关闭
rwb.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
try {
File fileWrite = new File( " f:/cardWrite.xls " );
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
JexcelHandle.writeExcel(os);
JexcelHandle.modifyExcel( new File( " f:/cardWrite.xls " ), new File(
" f:/cardWrite2.xls " ));
} catch (Exception e) {
System.out.println(e);
}
}
}
<%
@ page contentType
=
"
text/html; charset=utf-8
"
language
=
"
java
"
import
=
"
java.sql.*
"
errorPage
=
""
%>
<% @ page import = " org.eagle.gz.* " %>
<% @ page import = " java.io.* " %>
< html >
< head >
< meta http - equiv = " Content-Type " content = " text/html; charset=utf-8 " >
< title > 无标题文档 </ title >
< style type = " text/css " >
<!--
body,td,th {
font - size: 12px;
}
body {
margin - left: 0px;
margin - top: 0px;
margin - right: 0px;
margin - bottom: 0px;
}
-->
</ style ></ head >
< body >
<%
try {
response.reset(); // 清除Buffer
response.setContentType( " application/vnd.ms-excel " );
File fileWrite = new File( " f:/testWrite.xls " );
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
JexcelHandle.writeExcel( new FileOutputStream(fileWrite));
} catch (Exception e){
System.out.println(e);
}
%>
</ body >
</ html >
也可以在jsp中运用,
<% @ page import = " org.eagle.gz.* " %>
<% @ page import = " java.io.* " %>
< html >
< head >
< meta http - equiv = " Content-Type " content = " text/html; charset=utf-8 " >
< title > 无标题文档 </ title >
< style type = " text/css " >
<!--
body,td,th {
font - size: 12px;
}
body {
margin - left: 0px;
margin - top: 0px;
margin - right: 0px;
margin - bottom: 0px;
}
-->
</ style ></ head >
< body >
<%
try {
response.reset(); // 清除Buffer
response.setContentType( " application/vnd.ms-excel " );
File fileWrite = new File( " f:/testWrite.xls " );
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
JexcelHandle.writeExcel( new FileOutputStream(fileWrite));
} catch (Exception e){
System.out.println(e);
}
%>
</ body >
</ html >
群 16687185 欢迎你们的加盟。