轉帖|其它|編輯:郝浩|2011-07-18 14:44:41.000|閱讀 1318 次
概述:1、生成EXCEL需要手動寫查詢語句把ORACLE數據庫中的數據查詢出來,再通過操作寫到EXCEL文件里面。2、通過EXCEL把數據讀取到ORACLE,同樣需要去讀取EXCEL工作薄里面的內容,再通過INSERT語句去插入數據庫操作。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
1、生成EXCEL需要手動寫查詢語句把ORACLE數據庫中的數據查詢出來,再通過操作寫到EXCEL文件里面。
2、通過EXCEL把數據讀取到ORACLE,同樣需要去讀取EXCEL工作薄里面的內容,再通過INSERT語句去插入數據庫操作。
示例:
包括從Excel讀取數據,生成新的Excel,以及修改Excel
package common.util;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.write.*;
import jxl.write.Number;
import jxl.write.Boolean;
import java.io.*;
public class ExcelHandle
{
public ExcelHandle()
{
}
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 writeExcel(OutputStream os)
{
try
{
WritableWorkbook wwb = Workbook.createWorkbook(os);
//創建Excel工作表 指定名稱和位置
WritableSheet ws = wwb.createSheet("Test Sheet 1",0);
/
public static void modifyExcel(File file1,File file2)
{
try
{
Workbook rwb = Workbook.getWorkbook(file1);
WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0,0);
//判斷單元格的類型,做出相應的轉換
if(wc.getType == CellType.LABEL)
{
Label label = (Label)wc;
label.setString("The value has been modified");
}
wwb.write();
wwb.close();
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
//
測試
public static void main(String[] args)
{
try
{
//讀Excel
ExcelHandle.readExcel("f:/testRead.xls");
//輸出Excel
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
OutputStream os = new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(os);
//修改Excel
ExcelHandle.modifyExcel(new file(""),new File(""));
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
2.在jsp中做相關測試,創建一個writeExcel.jsp
<%
response.reset();//清除Buffer
response.setContentType("application/vnd.ms-excel");
File fileWrite = new File("f:/testWrite.xls");
fileWrite.createNewFile();
new FileOutputStream(fileWrite);
ExcelHandle.writeExcel(new FileOutputStream(fileWrite));
%>
在IE中瀏覽writeExcel.jsp就可以動態生成Excel文檔了,其中response.setContentType("application/vnd.ms-excel");語句必須要,才能確保不亂碼,在jsp中輸入<%@page contentType="application/vnd.ms-excel;charset=GBK"%>不行。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載