下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、常州信息職業(yè)技術學院軟件開發(fā)與項目管理學生作品作品題目:Excel與關系數(shù)據(jù)庫之間的批量數(shù)據(jù)轉移作品作者: 陳西 指導教師: 錢銀中 完成時間: 2012.05.21 一.項目介紹學生工作管理系統(tǒng)主要包括學生基本信息管理,學生考勤,助學金管理,學生評優(yōu),用戶管理,學生成績查詢等模塊。使用系統(tǒng)的人員包括:學工處、系學生工作負責人、系輔導員、班主任,用戶使用系統(tǒng)前必須登錄。每個用戶只能設置、更改、查詢管轄范圍內的學生。學生工作管理系統(tǒng)的開發(fā),首先要解決的是數(shù)據(jù)庫的設計問題。當數(shù)據(jù)庫設計好了,要解決兩個問題:第一,如何創(chuàng)建數(shù)據(jù)庫中的表;第二:如何對數(shù)據(jù)庫進行初始化工作(Excel 表格中有大量的數(shù)據(jù)
2、,如何將這些數(shù)據(jù)方便,快捷的導入到數(shù)據(jù)庫中,進行數(shù)據(jù)庫的初始化工作)。本項目介紹使用數(shù)據(jù)庫初始化過程的批量加載工作。二.開發(fā)技術開發(fā)過程中使用了POI開源項目,實現(xiàn)EXCEL表格和關系數(shù)據(jù)庫之間的批量轉移。Jakarta POI 是apache的子項目,目標是處理ole2對象。它提供了一組操縱Windows文檔的Java API 。目前比較成熟的是HSSF接口,處理MS Excel(97-2002)對象。它不象我們僅僅是用csv生成的沒有格式的可以由Excel轉換的東西,而是真正的Excel對象,你可以控制一些屬性如sheet,cell等等。 在POI中,Excel表格有下列對象:(1)HSS
3、FWorkbook excell 文檔對象介紹 (2)HSSFSheet excell的表單 (3)HSSFRow excell的行 (4)HSSFCell excell的格子單元(1)使用POI讀取Excel文件讀取Excel文件時,首先生成一個POIFSFileSystem對象,由POIFSFileSystem對象構造一個HSSFWorkbook,該HSSFWorkbook對象就代表了Excel文檔。下面代碼讀取上面生成的Excel文件寫入的消息字串: POIFSFileSystem fs=newPOIFSFileSystem(new FileInputStream("d:tes
4、t.xls"); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); HSSFCell cell = row.getCell(short) 0); String msg = cell.getStringCellValue(); (2)使用POI寫入Excel文件下列代碼演示了將excel的第一個表單第一行的第一個單元格的值寫成“a test”。 POIFSFileSystem fs =new POIFSFileSystem(
5、new FileInputStream("workbook.xls"); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); HSSFRow row = sheet.getRow(0); HSSFCell cell = row.getCell(short)0); cell.setCellValue("a test"); / Write the output to a file FileOutputStream fileOut = new FileOutpu
6、tStream("workbook.xls"); wb.write(fileOut); fileOut.close(); 三.實施過程(1)數(shù)據(jù)庫設計 圖1是學生工作管理系統(tǒng)的ER圖,數(shù)據(jù)轉移建立在這一數(shù)據(jù)庫設計的基礎之上。圖1 學生工作管理系統(tǒng)的ER圖(2) 使用Hibernate 連接數(shù)據(jù)庫Hibernate是中小型項目使用的最多的一種持久化技術。而它最重要的概念就是ORM(對象-關系映射)。對于這個概念,許多資料上的解釋都不一樣,比較大眾化的解釋是,將數(shù)據(jù)庫中的記錄映射到程序中,使其成為對象來操作,就象操作JAVA的普通類一樣。除了這些,它還可以為我們管理連接對象,事
7、務處理等操作。所以使用起來很方便。Hibernate能夠訪問多種關系數(shù)據(jù)庫,如SQL Server、MySQL、Oracle和Access等。在訪問這些數(shù)據(jù)庫時,只需要在Hibernate的配置文件(hibernate.cfg.xml)中指定正確的連接屬性值。連接Oracle數(shù)據(jù)庫的Hibernate配置文件有兩種格式,一種是xml格式的,另一種是Java屬性文件格式的。下面將給出xml格式的配置文件的代碼。<session-factory> <!-指定數(shù)據(jù)庫使用的SQL方言-><property name="dialect">org.h
8、ibernate.dialect.Oracle9Dialect</property> <!-指定連接數(shù)據(jù)庫用的驅動-><property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <!-指定連接數(shù)據(jù)庫的路徑-><property name="connection.url">jdbc:oracle:thin:62:1521:orcl</property&g
9、t; <!-指定連接數(shù)據(jù)庫的用戶名-><property name="connection.username">sun</property> <!-指定連接數(shù)據(jù)庫的密碼-><property name="connection.password">123456</property> <!-指定連接名字-><property name="file">oracle10g</property&g
10、t;</session-factory>(3)把Excel 中的數(shù)據(jù)批量導入到Oracle 10g 數(shù)據(jù)庫中以院系表(YX)為例,下列代碼把Excel文件“yx.XLS”全部加載到數(shù)據(jù)庫中:public class SaveToOracle public static void saveYX(String fileToBeRead) throws Exception HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead);/創(chuàng)建工作簿 HSSFSheet sheet = workbook.
11、getSheet("yx");/創(chuàng)建YX表int rowNumber = sheet.getLastRowNum();/獲得該表的最大行的索引for (int i = 0; i <= rowNumber; i+) HSSFRow row = sheet.getRow(i);HSSFCell cell1 = row.getCell(short) 0);String yxdm = cell1.getStringCellValue();HSSFCell cell2 = row.getCell(short) 1);String yxmc = cell2.getStringCe
12、llValue(); /分別獲取單元格的內容Session session = HibernateUtil.getSessionFactory().getCurrentSession();/創(chuàng)建SESSION對象Transaction tx = session.beginTransaction();/創(chuàng)建事務Yx yx = new Yx(yxdm, yxmc);/創(chuàng)建對象session.save(yx);/調用方法mit();/事務提交最后使用TestSaveToOracle來調用SaveToOracle類public class TestSaveToOracle public static void main(String args) throws Exception SaveToOracle.saveYX(" C:/Documents and Settings
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙科版選擇性必修3化學下冊月考試卷
- 2025年浙科版選修6地理下冊階段測試試卷含答案
- 2025年人教A版九年級歷史下冊階段測試試卷含答案
- 2025年岳麓版八年級地理下冊階段測試試卷含答案
- 2025年滬科版拓展型課程化學上冊月考試卷
- 二零二五年度出口合同履約環(huán)節(jié)的知識產權侵權監(jiān)測與應對合同3篇
- 2025年度生態(tài)環(huán)保型幕墻材料采購與施工合同4篇
- 2025年度車輛抵押貸款合同示范文本4篇
- 2025年度個人小額貸款合同簽訂流程詳解4篇
- 二零二五版智能安防系統(tǒng)采購與安裝合同4篇
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場發(fā)展態(tài)勢及前景戰(zhàn)略研判報告
- 北京離婚協(xié)議書(2篇)(2篇)
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學真題試卷(含答案)
- 高中學校開學典禮方案
- 內審檢查表完整版本
- 3級人工智能訓練師(高級)國家職業(yè)技能鑒定考試題及答案
- 孤殘兒童護理員技能鑒定考試題庫(含答案)
評論
0/150
提交評論