excel查詢資料的技術實現選擇
最近有一個高中同學問我一件事情,就是他們目前使用excel需要經常查很多資料,但現在使用excel的篩選功能感覺比較費勁。想問問我有沒有什麼改進的方法,對於我來說,這種情況下,我會很自然的推薦他使用資料庫,而且如果可行我會推薦使用Oracle,可能這個思路聽起來也不太好,主要是我從下面幾個方面來考慮。
一來資料從excel中放入資料庫中,資料庫層面查取那肯定要快得多,而且支援各種複雜變態的查詢,多關聯都可以,當然Oracle是一種方案,使用Mysql也可以,mssql也可以。只是因為我瞭解oracle,所以用自己拿著錘子,看到的問題都是釘子的角度去看,也確實是這樣了。
二來一個很重要的原因是,可以使用plsqldev把excel的資料無縫匯入oracle,然後使用sqldeveloper匯出一個很漂亮的資料包告,我記得sqldeveloper有一個很不錯的功能就是匯出的資料為Html的時候,會自動生成一個查詢功能,輸入任何匹配的資料,都可以動態輸出當前的匹配結果。
但是我看了他發來的excel之後的初步感覺,但是看到他郵件裡的描述,我感覺這麼做看起來還是不太可行。
他說裡面有幾十個列,平時工作查詢只會用到兩個列做查詢,所以我的想法第一條就有些多餘了,而且資料量其實也不大,就幾千條,如果再翻幾番,幾十萬條,從資料庫層面,全表掃描都全然無壓力。但是目前的情況是我同學還是和IT專業性無緣,因為他們偏向業務,我說使用sql吧,他說用sql感覺也有些麻煩。他也嘗試了access.但是感覺還是有些不太方便。
這個時候我一下子有些明白了,這個和技術牛掰沒有任何關係。對他來說就是一個能夠靈活使用的工具,所見所得即可。
所以如果從excel檔案-->安裝Oracle資料庫軟體-->建立資料庫例項-->可能得擴容記憶體-->使用plsqldev匯入excel資料-->使用sqldeveloper匯出html資料 基本可以實現他的要求,如果是多個欄位還需要手工修改javascript程式碼。
這種思路著實會複雜許多。看起來現在的痛點不在資料儲存上,是在一個簡單快捷的客戶端上,那麼我可以使用Java來實現,還是按照我熟悉的技術來說,那就是jsp+serverlet+tomcat來構建了。
這個時候還得跑一個web伺服器,還需要寫jsp頁面,如果就個別幾個excel,那麼完全可以直接在jsp裡面直接嵌入servlet程式碼段。當然資料庫還是需要,不過使用mysql,msql都可以 ,access應該可以可以。
對於這種方案,自我感覺還是有一些依賴,還是有些笨重,其實不光問題沒有解決,反而更加複雜化了。
那麼就簡化一下,直接使用java的swing來做。直接編譯生成一個客戶端物件,直接執行即可,這個時候還是需要安裝有java的。不過相比起來已經簡化很多了。
但是這個時候難點就在swing的實現了,大家可能使用swing的場景還是少一些,不過swing的那種立體使用感還是很讚的,但是比較糾結的就是程式碼層來說,實現起來還是有一些難度,如果使用開源框架richclient等等,那就更不划算了,按照我同學的說法,如果稍微複雜些,可以給我申請寫經費,聽起來還是可以試試。
如果使用java的swing,那麼我就需要放棄使用資料庫了,而是使用xml來做這個,那麼這個時候一個重要的問題就變成了資料格式的轉換看,由excel轉換為xml,不過excel還好本身提供了這個功能,所以還需要花一些時間去看看怎麼去解析這個xml標示符。
或者把檔案存為csv格式,使用csvjdbc來直接操作格式轉換之後的csv檔案也可以。
恩,看起來我也是著實想了不少的方法,但是感覺從極簡的角度來看,都有一些限制和不足,那麼一個比較好的思路就是物盡其用,就好比看成龍的電影,不是有很多高超的武藝,而是他隨手拿起一個凳子,毛巾都能把它利用起來,在各種打鬥中都讓人為之一震,拍手稱快。那麼我們使用的excel,它本身的功能其實已經很強大了,記得有些人用excel裡面有各種複雜的功能,函式庫,還有vb的深度定製,宏的設定等等。所以這個時候還是可以在這個方面下下功夫,雖然我不太熟悉,但是看了下excel的一些常用功能其實已經足夠滿足這位同學的需求了。最後自己百度了不少的文章,感覺能實現的方法確實很多,不過限於excel水平,沒有成功,但是我相信這個是我的問題,excel已經很強大了,還是需要花點時間來學習一下。方向對了這些努力也就全值得。
一來資料從excel中放入資料庫中,資料庫層面查取那肯定要快得多,而且支援各種複雜變態的查詢,多關聯都可以,當然Oracle是一種方案,使用Mysql也可以,mssql也可以。只是因為我瞭解oracle,所以用自己拿著錘子,看到的問題都是釘子的角度去看,也確實是這樣了。
二來一個很重要的原因是,可以使用plsqldev把excel的資料無縫匯入oracle,然後使用sqldeveloper匯出一個很漂亮的資料包告,我記得sqldeveloper有一個很不錯的功能就是匯出的資料為Html的時候,會自動生成一個查詢功能,輸入任何匹配的資料,都可以動態輸出當前的匹配結果。
但是我看了他發來的excel之後的初步感覺,但是看到他郵件裡的描述,我感覺這麼做看起來還是不太可行。
他說裡面有幾十個列,平時工作查詢只會用到兩個列做查詢,所以我的想法第一條就有些多餘了,而且資料量其實也不大,就幾千條,如果再翻幾番,幾十萬條,從資料庫層面,全表掃描都全然無壓力。但是目前的情況是我同學還是和IT專業性無緣,因為他們偏向業務,我說使用sql吧,他說用sql感覺也有些麻煩。他也嘗試了access.但是感覺還是有些不太方便。
這個時候我一下子有些明白了,這個和技術牛掰沒有任何關係。對他來說就是一個能夠靈活使用的工具,所見所得即可。
所以如果從excel檔案-->安裝Oracle資料庫軟體-->建立資料庫例項-->可能得擴容記憶體-->使用plsqldev匯入excel資料-->使用sqldeveloper匯出html資料 基本可以實現他的要求,如果是多個欄位還需要手工修改javascript程式碼。
這種思路著實會複雜許多。看起來現在的痛點不在資料儲存上,是在一個簡單快捷的客戶端上,那麼我可以使用Java來實現,還是按照我熟悉的技術來說,那就是jsp+serverlet+tomcat來構建了。
這個時候還得跑一個web伺服器,還需要寫jsp頁面,如果就個別幾個excel,那麼完全可以直接在jsp裡面直接嵌入servlet程式碼段。當然資料庫還是需要,不過使用mysql,msql都可以 ,access應該可以可以。
對於這種方案,自我感覺還是有一些依賴,還是有些笨重,其實不光問題沒有解決,反而更加複雜化了。
那麼就簡化一下,直接使用java的swing來做。直接編譯生成一個客戶端物件,直接執行即可,這個時候還是需要安裝有java的。不過相比起來已經簡化很多了。
但是這個時候難點就在swing的實現了,大家可能使用swing的場景還是少一些,不過swing的那種立體使用感還是很讚的,但是比較糾結的就是程式碼層來說,實現起來還是有一些難度,如果使用開源框架richclient等等,那就更不划算了,按照我同學的說法,如果稍微複雜些,可以給我申請寫經費,聽起來還是可以試試。
如果使用java的swing,那麼我就需要放棄使用資料庫了,而是使用xml來做這個,那麼這個時候一個重要的問題就變成了資料格式的轉換看,由excel轉換為xml,不過excel還好本身提供了這個功能,所以還需要花一些時間去看看怎麼去解析這個xml標示符。
或者把檔案存為csv格式,使用csvjdbc來直接操作格式轉換之後的csv檔案也可以。
恩,看起來我也是著實想了不少的方法,但是感覺從極簡的角度來看,都有一些限制和不足,那麼一個比較好的思路就是物盡其用,就好比看成龍的電影,不是有很多高超的武藝,而是他隨手拿起一個凳子,毛巾都能把它利用起來,在各種打鬥中都讓人為之一震,拍手稱快。那麼我們使用的excel,它本身的功能其實已經很強大了,記得有些人用excel裡面有各種複雜的功能,函式庫,還有vb的深度定製,宏的設定等等。所以這個時候還是可以在這個方面下下功夫,雖然我不太熟悉,但是看了下excel的一些常用功能其實已經足夠滿足這位同學的需求了。最後自己百度了不少的文章,感覺能實現的方法確實很多,不過限於excel水平,沒有成功,但是我相信這個是我的問題,excel已經很強大了,還是需要花點時間來學習一下。方向對了這些努力也就全值得。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23718752/viewspace-1974365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- 閃回技術查詢資料
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- Excel查詢兩列資料相同的元素Excel
- 大資料要學習哪些技術呢?大資料技術的分類與選擇路線大資料
- 資料庫的查詢最佳化技術 (聯接收集)資料庫
- 【TAF】使用Oracle RAC的TAF技術實現不間斷查詢Oracle
- 查詢與排序03,選擇排序排序
- 雲技術的戰略選擇
- 解析MSSQL跨資料庫查詢的實現方法SQL資料庫
- 大型資料庫中跨shard查詢使用的技術對比資料庫
- 技術分享 | 為什麼 SELECT 查詢選擇全表掃描,而不走索引?索引
- 大資料的實時查詢大資料
- Python實現天氣查詢功能(外加Excel技巧)PythonExcel
- tp5實現多資料庫查詢資料庫
- 特徵選擇技術總結特徵
- 直播商城原始碼如何實現資料的單項選擇原始碼
- 聊聊創業初期的技術選擇創業
- 技術學習選擇的困難
- 初創團隊的技術選擇
- 資料庫資料的查詢----連線查詢資料庫
- 位元組跳動資料平臺技術揭祕:基於 ClickHouse 的複雜查詢實現與優化優化
- Access查詢實現Mysql的 limit 查詢MySqlMIT
- WinForm使用DataGridView實現類似Excel表格的查詢替換ORMViewExcel
- efcore 跨表查詢,實現一個介面內查詢兩個不同資料庫裡各自的表資料資料庫
- 使用cglib實現資料庫框架的級聯查詢CGLib資料庫框架
- SQL server資料庫with as子句與遞迴查詢的實現SQLServer資料庫遞迴
- DataSet多表關聯實現本地資料複雜的查詢
- 資料夾選擇對話方塊 JS實現(轉)JS
- 例項講解MySQL資料庫的查詢最佳化技術(轉)MySql資料庫
- 閃回版本查詢技術:
- js實現的查詢表格中的資料程式碼例項JS
- 怎麼選擇學哪些技術?
- 堅定你選擇的前端技術方向前端
- 如何使用 Milvus 向量資料庫實現實時查詢資料庫
- 關於樹型結構資料遞迴查詢,轉非遞迴查詢的實現遞迴
- 手寫下拉選單,模糊查詢資料
- 直播app原始碼,資料庫多資料來源自動選擇實現APP原始碼資料庫