利用poi將excel表中資料讀取存入mysql資料庫(資料量比較大)
最近被老大安排了一個任務,利用程式將excle表中的資料讀取到,做處理,然後存進資料庫。接到任務的時候人是懵逼的。但是安排的任務也得硬著頭皮完成。現將做的東西記錄如下,方便以後查詢。
這個小demo的原型是在網上找的,demo連結如下
http://www.cnblogs.com/hongten/p/java_poi_excel.html
這個demo基本能夠實現將excel中的資料讀取然後存到mysql這個功能,但是,還遠沒有達到自己這個任務的業務要求。
我這個任務要求如下:
公司老大需要統計這一年中我們公司的機票銷售情況,excel表格比較多,比較繁瑣,他要求將這個一年中所有的機票銷售情況存進mysql中,
資料庫mysql中表結構如下
十二個月中其中某個月份的資料夾結構
某個月中某個平臺的銷售報表——總表(改簽表在銷售表中的sheet1中,退票報表是單獨一個excle)
某個月中某個平臺的銷售報表——改簽表
退票表中的excel資料結構(這個是所有平臺的)
資料庫裡面的表字段和excel中表頭基本一一對應,但是需要新加三個欄位,source、refund、change
這裡對著三個欄位說明一下
source是平臺來源,refund是退票(預設為0)、change是改簽(預設為0)
不同的平臺通過source來區分,當記錄平臺銷售記錄的excel中的總表(sheet0)中的訂單號出現在改簽表(sheet1)或者另外一個excel(退票表)中的時候,資料庫中該訂單號對應的改簽或者退票的欄位變為1。
總表中訂單號會出現重複的情況,當重複的時候,存進資料庫的時候訂單號只取一條,但是過濾掉的那些訂單號對應的姓名,票號要疊加,以逗號隔開。因為其他欄位都是一樣的,只取一個就行。
一般來講,將相同的訂單號合併後訂單號都是唯一的,但是不同平臺可能出現相同的訂單號。這種情況本文沒有考慮。
(也不太知道該怎麼寫,想到哪裡就寫到哪裡了)
接下來就是專案結構
對專案結構和原始碼就不多解釋了,
準備上傳原始碼來著,但是編輯頁面還不知道該怎麼上傳,待會兒單獨上傳。
最後說一下遇到的問題
1.最開始做的時候,網上找的demo只支援2003版的excel,如果是2007版,會報錯。需要匯入新的jar包。具體需要哪些jar包網上百度一大堆。就不記錄了
2.剛開始做完後,大約兩萬條資料,導進資料庫大概花了30分鐘左右,這個,,,,,,就不多評價這個速度了。耗時這麼久的原因就是我是單條插入資料庫,需要頻繁開啟,關閉資料庫連線。這個過程相當耗時,後來百度得到(http://blog.csdn.net/whucyl/article/details/20838079)優化方法。兩萬多條資料耗時只需要1分鐘左右,這中間的時間差嚇到我了。
大概就記錄這麼多,能力有限,歡迎指正其中的錯誤,原始碼連結:http://download.csdn.net/detail/rookie_s/9694373
相關推薦
利用poi將excel表中資料讀取存入mysql資料庫(資料量比較大)
最近被老大安排了一個任務,利用程式將excle表中的資料讀取到,做處理,然後存進資料庫。接到任務的時候人是懵逼的。但是安排的任務也得硬著頭皮完成。現將做的東西記錄如下,方便以後查詢。 這個小demo的原型是在網上找的,demo連結如下 http://www.cnblogs.
利用Python將Excel表中的資料匯入Mysql資料庫
python操作Excel 需要匯入xlrd包,可以通過pip install xlrd 一鍵安裝。 #coding=utf-8 ''' python 將指定目錄下的excel檔案匯入到資料庫中 ''' # 引入資料庫包 import pymysql # 引入操作excel包
使用C#將Excel檔案中資料匯入SQL Server資料庫
由於專案中加入了新的功能,可以使管理員向資料庫中匯入Excel資料。因此,在商品管理這塊需要對Excel進行操作,在網上查了些資料,根據專案的實際情況進行了一定的優化,這裡簡單的介紹下。 C#程式碼 /// <summary> /// 上傳Excel檔案,並將資
java把excel表的資料匯入到mysql資料庫
用java把excel表的資料匯入到資料庫(可能有些型別還沒考慮完全,抽空寫的) ———————————————————————————————————————————————————————————— 簡單的思路 一、先獲取資料庫表的欄位名、主鍵名, 二、讀取
php將json格式的資料直接存入mysql資料庫
直接使用php函式 json_encode ,資料存入mysql時會報錯: Php程式碼 $imgs_str = json_encode($imgs_array); $imgs_str = addslashes($imgs_str); $update
將Excel表中的資料 轉換成XML 並對XML資料進行讀取
EXCEL 轉換成 XML 工具類 using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.Xml; usi
Java將Excel表格中資料匯入至資料庫中的表中
上一節介紹了Java將資料庫表中資料匯出至Excel表格,那麼本節來介紹它的逆過程,也就是將Excel表格中的資料逐行匯入資料庫中的表中,依然需要使用Apache的POI,上一節已經說過也附了這個jar包的下載地址,這一節就不過多的說,直接講如
【利用python進行資料分析——基礎篇】利用Python處理和分析Excel表中資料實戰
作為一個學習用Python進行資料分析的新手來說,通過本文來記錄分享一些我在用Python中的pandas、numpy來分析Excel表中資料的資料清洗和整理的工作,目的是熟悉numpy以及pandas基礎操作,所有操作利用Excel均可以方便實現。備註:本文中使用的是ipy
sqlserver怎麼將excel表的資料匯入到資料庫中
在資料庫初始階段,我們有些資料在EXCEL中做好之後,需要將EXCEL對應列名(匯入後對應資料庫表的欄位名),對應sheet(改名為匯入資料庫之後的表名)匯入指定資料庫, 相當於匯入一張表的整個資料。匯入之前需要檢查是否存在同名的表,匯入的資料表以“$”結尾就是為了避免表重複,以作區分。下面就來看看具體操作步
ssm利用poi將excel資料匯入資料庫
POI匯入資料庫 1.前臺頁面 <form action="<%=request.getContextPath()%>/doFile.action" method="post" enctype="multipart/form-data">
PHPExcel將excel表的資料匯入資料庫
一:話不多說,上乾貨 1.首先,需要建立個數據庫 product 資料庫程式碼參考: /* Navicat MySQL Data Transfer Source Server : TP-jifen-demo
利用POI匯出Excel表
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi&l
如何對比mysql資料表的資料與excel表中資料是否重複?
一、利用excel比對 1、將mysql資料表匯出為excel 2、將表格資料與excel資料進行對比 方法一:函式COUNTIF IF(COUNTIF(資料庫資料所在的區域,目標值所在區域)=0,”不重複”,”“) 方法二:函式Ma
利用POI將Excel轉化成XML檔案
一、導包 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId>
利用POI將Excel文件轉換為Html
excel文件轉換為html其實和word轉html相類似,優點也很明顯。請參考 word轉html public static void convertExcel2Html(String excelFilePath,String htmlFilePat
mysql將一個表中資料插入另一張表,排重,刪除,匯入
將一個表中資料插入另一張表的語句: insert into 目標表(欄位1,欄位2,欄位3……) select 欄位1,欄位2,欄位3… from 來源表 where 條件1 and 條件2; 排重很簡單,只要在需要排重的欄位前加distinct就可以嘞!eg~ 查詢記錄
如何將 Excel 檔案匯入到 Navicat for MySQL 資料庫
Navicat for MySQL 是一套最為專業的管理和開發 MySQL 資料庫工具,匯入資料是進行管理的第一步,那麼如何將 Excel 檔案資料匯入到 Navicat for MySQL 資料庫呢? 將 Excel 檔案匯入到 Navicat for MySQL
JAVA 爬取指定網站的資料並存入MySQL資料庫中 maven +httpclient+jsoup+mysql
最近在做一個小專案,因為要用的資料爬取,所以研究了好多天,分享一下自己的方法 目錄結構: 自己建立maven工程,匯入相關依賴:pom.xml <?xml version="1.0" enco
excel資料轉成insert語句插入資料庫(資料量為幾十萬);
最近接到一個蛋疼的活,要把excel中的資料,匯入到資料庫中, 剛開始首先想到的是用程式去做,但是因為時間很緊,寫程式加除錯,也不來及,於是就像直接把excel的資料轉化成insert語句,然後批量執行, 資料如下, 1、把excel的資料轉成inser int
表中多個語句的刪除(多個欄位)
1、查詢表中多餘的重複記錄,重複記錄是根據單個欄位(Id)來判斷 select * from 表 where Id in (select Id from 表 group byId having c