【程式開發筆記】一分鐘內將 LibreOffice Calc 資料轉入資料庫 | LibreOffice Writer 合併列印 - 大漠國渡

前言

上次分享了一篇文章,【程式開發筆記】一分鐘內將 EXCEL 資料轉入資料庫 | WORD 合併列印 - 大漠國渡,提到了使用 EXCEL、WORD 來快速匯入資料到資料庫,這次則要分享使用 LibreOffice 的 Writer、Calc 來匯入資料,來解決文書人員常常需要收集資料,希望系統工程師將這些資料建檔於系統中。

Microsoft Word、Excel,是需要付費購買軟體的,那有可能自學的學生、或是公司不想花錢購買軟體的,就可以使用免費及開源的 LibreOffice Writer、Calc 來完成一樣的事情。

除了 LibreOffice 也可以選用 OpenOffice Writer、Calc,因為 LibreOffice 是以 OpenOffice 底層進行開發的,所以兩者操作起來差異因該不大。

但是我這邊建議使用 LibreOffice,因為先前 OpenOffice 是有因為某些原因停止開發一段時間的,那他們原先的團隊就改以 OpenOffice 為底層繼續開發,而有了 LibreOffice,並持續發揚自由軟體的理念,因此目前 LibreOffice 好用度高於 OpenOffice

一、建立「範本 SQL 語句」

(一)、開啟 LibreOffice Writer

(二)、編輯「範本 SQL 語句」

SQL 語句中 VALUES,填入 6 個 # 號,後頭會說明會甚麼。

LibreOffice Writer 合併列印 - 建立範本 SQL 語句

二、設定「資料來源」

(一)、資料內容

建議插入的資料要有標題,待會操作的時候會比較直覺

其實沒有標題的資料也是可以使用的。

LibreOffice Writer 合併列印 - 設定資料來源

(二)、設定「資料來源」

1. 點選「插入」

2. 選擇「欄位」

3. 再選擇「更多欄位」

LibreOffice Writer 合併列印 - 設定資料來源

4. 點選「資料庫」

5. 選擇「郵件合併列印欄位」

6. 再點選「瀏覽」

LibreOffice Writer 合併列印 - 設定資料來源

  7. 選擇存放資料的 LibreOffice Calc (.dos) 檔案。

LibreOffice Writer 合併列印 - 設定資料來源

三、設定「插入 SQL 欄位資料」

這個步驟是告訴 Writer,等下要產出的 SQL,標題下的資料內容,因該放置在哪一個位置上。

1. 選擇插入欄位的位置。 (第 3 個 # 號後方)

2. 選擇「要插入的欄位標題」

3. 按下「插入 」

LibreOffice Writer 合併列印 - 設定插入 SQL 欄位資料

4. 插入結果如下。

LibreOffice Writer 合併列印 - 設定插入 SQL 欄位資料

5. 依此類推,依序插入欄位。

LibreOffice Writer 合併列印 - 設定插入 SQL 欄位資料

四、設定「產出格式」

1. 點選「檢視」

2. 選擇「資料來源」

LibreOffice Writer 合併列印 - 設定產出格式

3. 點選「合併郵件」

LibreOffice Writer 合併列印 - 設定產出格式

4. 選擇「使用目前的文件」

5. 按下「下一步 」

LibreOffice Writer 合併列印 - 設定產出格式

6. 選擇「信紙」

這邊的選項跟 WORD 不一樣,不管選哪項,產出的 SQL 語句都會是一句一頁。

LibreOffice Writer 合併列印 - 設定產出格式

7. 按下「下一步 」

此文件應包含地址區塊,這個不要勾選,我們並不是要產出郵件。

LibreOffice Writer 合併列印 - 設定產出格式

8. 按下「完成 」

此文件應包含一個稱謂,這個不要勾選,原因一樣我們並不是要產出郵件。

LibreOffice Writer 合併列印 - 設定產出格式

五、產出「INSERT SQL 語句」

這一步就會產出 INSERT SQL 語句,但是前面有提到「 SQL 語句中 VALUES,填入 6 個 # 號」,因此產出的語句是還不可以使用的,需要再做微調。

填入 6 個 # 號,是為了防呆,如果資料裡面有單引號,是會造成語句中斷的,導致新增的資料異常或者是無法新增

1. 點選「編輯個別文件」

LibreOffice Writer 合併列印 - 產出 INSERT SQL 語句

2. 產出 INSERT SQL 語句

LibreOffice Writer 合併列印 - 產出 INSERT SQL 語句

3. 與 EXCEL 的資料一樣是 8 筆。

LibreOffice Writer 合併列印 - 產出 INSERT SQL 語句

六、調整「INSERT SQL 語句」

這邊要微調的項目,主要是資料內容中單引號的問題,如果沒有單引號的話,就可以直接將 3 個 # 號取代為單引號,使其成為正常的 SQL 語句。

而有資料內容中單引號的話,則需先講「單引號」取代為兩個單引號。(避免語句中斷的)

如 : ' >> '' 。(兩個單引號在 SQL 資料中會被識別為資料的單引號)

1. 將 ###,取代為 ' 。(將 3 個 # 號取代為單引號)

LibreOffice Writer 合併列印 - 調整 INSERT SQL 語句

2. 產生正常的 SQL 語句。

LibreOffice Writer 合併列印 - 調整 INSERT SQL 語句

3. 再來就可以直「INSERT SQL 語句」,將這些資料建檔於系統中,完成文書人員的相關需求啦~~

七、相關文章

【程式開發筆記】一分鐘內將 EXCEL 資料轉入資料庫 | WORD 合併列印 - 大漠國渡
 

八、精選美景 - 周邊商品 (提供客製化服務)

大漠有設計簡單的程式碼,讓大家可以體驗一下寫程式的感覺,以及呈現結果,並將他製作成周邊商品,如 : 藍芽喇叭、拼圖、鑰匙圈、筆記本、滑鼠、滑鼠墊、鍵盤...等商品

商品類別涉及了電子產品、居家用品、杯子餐廚、服飾、旅行用品、辦公用品...等

有興趣的人可以到 大漠國渡 - 商品小舖 看看喔~  

我的優惠碼 K0999975,可享受 KUSDOM 全場 9 折優惠。 

大漠國渡 - 商品小舖 (KUSDOM)

九、精選授權圖片

如果您喜歡大漠國渡「攝影照片」的話,可以在 大漠國渡 Shutterstock 的作品集中購買喔 ~

Shutterstock 授權表
如果你也有攝影做作品要分享的話,也歡迎你加入 Shutterstock contributor

十、如果您喜歡我的內容,可以這樣贊助大漠國渡 (支持創作)

如果您喜歡我的內容,可以透過以下方式贊助大漠國渡,支持創作

Paypal : 小額贊助 (可刷信用卡)

悠游付 (EasyWallet APP) : 小額贊助

小額贊助 - Paypal小額贊助 - 悠游付

留言