將Oracle數(shù)據(jù)庫中的數(shù)據(jù)寫入Excel
1.準備工作
Oracle數(shù)據(jù)庫“TBYZB_FIELD_PRESSURE”表中數(shù)據(jù)如圖:

Excel模板(201512.xls):

2.任務(wù)說明
我們要完成的任務(wù)就是將表“TBYZB_FIELD_PRESSURE”中的數(shù)據(jù),按照Excel模板(201512.xls)的樣式導入到一個新的Excel中。即:Excel模板(201512.xls)不改變,生成一個和它一樣的Excel并且導入數(shù)據(jù)。
3.關(guān)鍵代碼
// 使用FieldPressEntity中的每一個entity,一個entity包含了所有屬性
public void insertintoExcel(String yyyy, String mm) throws Exception {
List<FieldPressEntity> result = tyFieldPressDao.search(yyyy, mm);
// 讀取Excel的模板
HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(new File(
"D:/201512.xls")));
HSSFSheet sheet = null;
// 讀取sheet的模板
sheet = workbook.getSheetAt(0);
// 定義行
HSSFRow row;
// 定義單元格
HSSFCell cell;
// for循環(huán),循環(huán)目標為行循環(huán)
for (int i = 0; i < result.size(); i++) {
System.out.println(result.size());
// 給e循環(huán)賦值
FieldPressEntity e = result.get(i);
// 循環(huán)行
row = sheet.getRow(3 + i);
// 給行內(nèi)的單元格賦值
cell = row.getCell(1);
cell.setCellValue(e.getH17());
System.out.println(i + "i內(nèi)+" + e.getH17());
cell = row.getCell(2);
cell.setCellValue(e.getH18());
System.out.println(i + "i內(nèi)+" + e.getH18());
cell = row.getCell(3);
cell.setCellValue(e.getH19());
System.out.println(i + "i內(nèi)+" + e.getH19());
cell = row.getCell(4);
cell.setCellValue(e.getH20());
System.out.println(i + "i內(nèi)+" + e.getH20());
cell = row.getCell(5);
cell.setCellValue(e.getH21());
System.out.println(i + "i內(nèi)+" + e.getH21());
cell = row.getCell(6);
cell.setCellValue(e.getH22());
System.out.println(i + "i內(nèi)+" + e.getH22());
cell = row.getCell(7);
cell.setCellValue(e.getH23());
System.out.println(i + "i內(nèi)+" + e.getH23());
cell = row.getCell(8);
cell.setCellValue(e.getH00());
System.out.println(i + "i內(nèi)+" + e.getH00());
cell = row.getCell(9);
cell.setCellValue(e.getH01());
System.out.println(i + "i內(nèi)+" + e.getH01());
cell = row.getCell(10);
cell.setCellValue(e.getH02());
System.out.println(i + "i內(nèi)+" + e.getH02());
cell = row.getCell(11);
cell.setCellValue(e.getH03());
System.out.println(i + "i內(nèi)+" + e.getH03());
cell = row.getCell(12);
cell.setCellValue(e.getH04());
System.out.println(i + "i內(nèi)+" + e.getH04());
cell = row.getCell(13);
cell.setCellValue(e.getH05());
System.out.println(i + "i內(nèi)+" + e.getH05());
cell = row.getCell(14);
cell.setCellValue(e.getH06());
System.out.println(i + "i內(nèi)+" + e.getH06());
cell = row.getCell(15);
cell.setCellValue(e.getH07());
System.out.println(i + "i內(nèi)+" + e.getH07());
cell = row.getCell(16);
cell.setCellValue(e.getH08());
System.out.println(i + "i內(nèi)+" + e.getH08());
cell = row.getCell(17);
cell.setCellValue(e.getH09());
System.out.println(i + "i內(nèi)+" + e.getH09());
cell = row.getCell(18);
cell.setCellValue(e.getH10());
System.out.println(i + "i內(nèi)+" + e.getH10());
cell = row.getCell(19);
cell.setCellValue(e.getH11());
System.out.println(i + "i內(nèi)+" + e.getH11());
cell = row.getCell(20);
cell.setCellValue(e.getH12());
System.out.println(i + "i內(nèi)+" + e.getH12());
cell = row.getCell(21);
cell.setCellValue(e.getH13());
System.out.println(i + "i內(nèi)+" + e.getH13());
cell = row.getCell(22);
cell.setCellValue(e.getH14());
System.out.println(i + "i內(nèi)+" + e.getH14());
cell = row.getCell(23);
cell.setCellValue(e.getH15());
System.out.println(i + "i內(nèi)+" + e.getH15());
cell = row.getCell(24);
cell.setCellValue(e.getH16());
System.out.println(i + "i內(nèi)+" + e.getH16());
cell = row.getCell(25);
cell.setCellValue(e.getDaily_sum());
System.out.println(i + "i內(nèi)+" + e.getDaily_sum());
cell = row.getCell(26);
cell.setCellValue(e.getDaily_avg());
System.out.println(i + "i內(nèi)+" + e.getDaily_avg());
cell = row.getCell(27);
cell.setCellValue(e.getDaily_max());
System.out.println(i + "i內(nèi)+" + e.getDaily_max());
cell = row.getCell(28);
cell.setCellValue(e.getDaily_min());
System.out.println(i + "i內(nèi)+" + e.getDaily_min());
}
// 寫入一個新的Excel表內(nèi)
FileOutputStream out = new FileOutputStream(new File("E:/"+yyyy+mm+".xls"));
// Excel表寫入完成
workbook.write(out);
// Excel表退出
out.close();
}
總結(jié):我們這個項目用的是ssh架構(gòu),如果想使用以上代碼,需要按照ssh的規(guī)范,定義dao action service entity四個包,如果需要頁面操作還需要js做頁面。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
安裝oracle11g INS-30131執(zhí)行安裝程序驗證所需的初始設(shè)置失敗的解決方法
這篇文章主要為大家詳細介紹了安裝oracle11g INS-30131執(zhí)行安裝程序驗證所需的初始設(shè)置失敗的解決方法,感興趣的小伙伴們可以參考一下2016-07-07
Oracle數(shù)據(jù)表保留一條重復數(shù)據(jù)簡單方法
最近開發(fā)的時候遇到一個任務(wù),需要對重復的數(shù)據(jù)進行篩選,所以下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)表保留一條重復數(shù)據(jù)的簡單方法,需要的朋友可以參考下2023-11-11
ORACLE SQL語句優(yōu)化技術(shù)要點解析
這篇文章主要介紹了ORACLE SQL語句優(yōu)化技術(shù)的相關(guān)內(nèi)容,小編覺得挺不錯的,在這里分享給大家,需要的朋友可以參考下。2017-10-10
oracle數(shù)據(jù)庫關(guān)于索引建立及使用的詳細介紹
這篇文章主要介紹了oracle數(shù)據(jù)庫關(guān)于索引建立及使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07
巧妙解決Oracle NClob讀寫問題(經(jīng)驗分享)
下面小編就為大家?guī)硪黄擅罱鉀QOracle NClob讀寫問題(經(jīng)驗分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

