小例子:java利用poi讀取excel中資料並匯入資料庫
問題描述:
資料夾下有若干excel檔案,檔名為10.教育局.xls 11.衛生院.xls ................有很多;中間的漢字為單位名稱,需要匯入資料庫,每個單位名稱要有一個單位id匹配;每個excel中有若干個sheet頁的名字,每個名字即為科室名稱,要匯入資料庫並有科室id
解決方案:
利用poi即可讀取出每個sheet頁的名字
讀取單位名稱:
用File類中的方法可獲取到每個excel檔名,由於所需要的單位名稱就夾在兩個“.”之間,可用indexOf()和lastIndexOf()獲取到兩個點的下標,然後獲取子串得到單位名稱
A.java
package importry; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class A { public static void main(String[] args) { // TODO Auto-generated method stub String path = "C:\\Users\\Administrator\\Desktop\\嘗試"; File file = new File(path); File[] filelist = file.listFiles(); C cc =new C(); //filelist[0].toString()為每個excel檔案的完整路徑 System.out.println("該資料夾下的檔案個數:"+filelist.length); for(int i=0;i<filelist.length;++i) { try { //對檔名進行字串的相關處理,獲得所需要的單位名稱 String s = filelist[i].getName(); String dwmc = s.substring(s.indexOf(46)+1,s.lastIndexOf(46)); //匯入單位名稱 cc.import_dw(dwmc); InputStream is = new FileInputStream(filelist[i].toString()); HSSFWorkbook wb = new HSSFWorkbook(is);//建立工作簿 int sheetnumber = wb.getNumberOfSheets();//獲取此工作簿下sheet頁的個數 for(int j=0;j<sheetnumber;++j) { HSSFSheet sheet = wb.getSheetAt(j);//當前sheet頁 String ksmc = sheet.getSheetName();//每個sheet頁名字即科室名稱 cc.import_ks(ksmc);//匯入科室名稱 } //System.out.println(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
B.java
C.javapackage importry; import java.sql.Connection; import java.sql.DriverManager; //資料庫操作類 public class B { public Connection getconnection() { Connection conn=null; String url ="jdbc:mysql://localhost:3306/mydb"; String user = "root"; String password="mysql"; //1.載入驅動 try { Class.forName("com.mysql.jdbc.Driver"); //2.連線資料庫 conn = DriverManager.getConnection(url,user,password); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; } }
package importry; import java.sql.Connection; import java.sql.Statement; //匯入的操作類 public class C { public void import_dw(String dwmc)//匯入單位名稱 { B bb =new B(); Connection conn=bb.getconnection(); try { Statement sm =conn.createStatement(); //向已有的dw表中插入單位名稱,id會自動增加 String sql = "insert into dw (dwmc) values('"+dwmc+"')"; sm.executeUpdate(sql); sm.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void import_ks(String ksmc)//匯入科室名稱 { B bb =new B(); Connection conn=bb.getconnection(); try { Statement sm =conn.createStatement(); //向已有的ks表中插入科室名稱,id會自動增加 String sql = "insert into ks (ksmc) values('"+ksmc+"')"; sm.executeUpdate(sql); sm.close(); conn.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相關推薦
小例子:java利用poi讀取excel中資料並匯入資料庫
問題描述: 資料夾下有若干excel檔案,檔名為10.教育局.xls 11.衛生院.xls ................有很多;中間的漢字為單位名稱,需要匯入資料庫,每個單位名稱要有一個單位id匹配;每個excel中有若干個sheet頁的名字,每個名字即為科
java利用poi讀取excel中資料
所需的jar包: 程式碼: /** * * @param cell * 一個單元格的物件 * @return 返回該單元格相應的型別的值 */ public static Object getRightTypeCell(Ce
Java開發小技巧:使用Apache POI讀取Excel
前言 在資料倉庫中,ETL最基礎的步驟就是從資料來源抽取所需的資料,這裡所說的資料來源並非僅僅是指資料庫,還包括excel、csv、xml等各種型別的資料介面檔案,而這些檔案中的資料不一定是結構化儲存的,比如各種各樣的報表檔案,往往是一些複雜的表格結構,其中不僅有我們需要的
Java利用POI 讀取Excel行列數,getLastRowNum()和getLastCellNum()的區別
一般讀取行總數時,會呼叫getLastRowNum(),讀取列總數時,會呼叫getLastCellNum(),但這兩個方法的返回值有點區別。 sheet.getLastRowNum();//返回最後一行的索引,即比行總數小1 row.getLastCellNum();//返回的是最後一列
java利用poi讀取Excel檔案
java讀取Excel檔案,筆者認為:從結構上來看,Excel檔案是由一個一個的單元格組成的,有點像細胞cell,逐行的排列。那麼我們讀的時候也應該逐行逐行的讀,從左到右的尋找每一個cell。一、例項程式碼: 只是實現了一種方式,因為依照讀取內容的不同,讀取的後想要的操作不同,因此不能苟同全部,只是方法是相
java使用poi讀取excel表格資料工具類
package com.eyric.excel; import java.io.*; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.*; import
java獲取excel中資料並存入資料庫表中
1--獲取excel檔案檔案所在路徑 由於公司的平臺框架封裝比較嚴重,獲取路徑方法可能略有不同,不必太放心上。 //獲取平臺附件配置檔案附件存放路徑 String realPath = F
Java開發小技巧(六):使用Apache POI讀取Excel
前言 在資料倉庫中,ETL最基礎的步驟就是從資料來源抽取所需的資料,這裡所說的資料來源並非僅僅是指資料庫,還包括excel、csv、xml等各種型別的資料介面檔案,而這些檔案中的資料不一定是結構化儲存的,比如各種各樣的報表檔案,往往是一些複雜的表格結構,其中不僅有我們需要的資料,還有一些冗餘的、無價值的資料
Java 利用 poi 生成 Excel檔案的通用例子
在用java 寫資料庫應用的時候, 通常會生成各種報表,而這些報表可能會被匯出為各種格式的檔案,比如Excel文件,pdf 文件等等. 今天先做了一個生成Excel 文件的例子,主要解決以下問題: 生成 Excel 文件. 保護生成Excel文件,設定密碼訪問. 自動對生成的Exce
java用poi讀取Excel表格中的數據
stream 數據 orm xlsx 其中 type() 2.6 create 穩定 Java讀寫Excel的包是Apache POI(項目地址:http://poi.apache.org/),因此需要先獲取POI的jar包,本實驗使用的是POI 3.9穩定版。Apac
java利用poi解析excel文件
sheet 文件 引入 exceptio form number string lean error: 首先需要引入以下jar包 如果使用maven,需要添加兩個依賴 <dependencies> <dependency>
10、利用POI讀取excel資料
自動化指令碼和資料是分離的,這裡是通過POI來實現excel的資料讀取的。 以下實現的是1個excel sheet表中可以分作多個表,判斷一個表是否結束是根據空格來的。 程式碼為: package common;import java.util.ArrayList;import java.
Java使用Poi讀取Excel資料(exor)
讀取Excel使用一個小工具exor exor是一個開源專案,封裝了一些poi讀取excel的操作,可以讀取excel資料並格式化為二維結構 xlsx和xls格式都可以讀取 exor的依賴:commons-collections4-4.2、poi-3.17、poi-oo
Java使用poi讀取Excel
在做之前新說明一下遇到的坑吧。(這裡給H1標題) 從excel檔案裡顯示的資料為 "1" 結果通過 row.getCell(0) 讀出來變成了 1.0 在轉換成int型別居然需要 Double.valueOf(row.getCell(0).toString().trim()
java poi讀取excel表格資料
package com.tl.web.signup.util; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.i
java利用POI實現Excel匯入匯出詳解-支援97-2013版本以及2017版本
package com.kero99.ygc.excel; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.
java 利用 poi 生成 Excel檔案與spring使用檔案流形式下載檔案
本文為結合參考資料整合而來。 第一步導包: 三個jar: poi poi-ooxml poi-ooxml-schemas maven: <properties> <poi.version>3.12</p
Java使用poi讀取excel資料(excel可能很大,先轉換為csv再讀取)
————————————配置———————————— jdbc.properties中加入: excelUrl=/……xlsx檔案目錄路徑/ (excelUrl + “xxxx.xlsx” 為完整路徑) 匯入poi-3.16下的6個jar包,poi-3.16/l
java 使用poi 讀取Excel
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <v
java使用POI讀取excel檔案,相容xls和xlsx
public List<Double> readExcels(InputStream is)throws Exception{List<Double> xlsxList = new ArrayList<Double>(); try { if(i