2010-01-02 46 views
-1

任何人都有一個很好的方法來自動化定期格式化的Excel工作簿批量創建或在事件發生後(例如,創建文件,表格加載)?「熄燈」自動計劃批量創建Excel工作簿?

爲了讓事情更有趣,讓我們進一步假設源數據位於關係數據庫或Unix文件中,並且結果需要通過電子郵件發送或傳輸到Unix Web服務器。謝謝!

+0

什麼語言?什麼OS?輸入數據是什麼格式? – 2010-01-02 07:53:17

+0

你使用它的目的是什麼?你只是想能夠在Excel中打開文件? – 2010-01-02 08:08:35

回答

0

Excel可以讀取.csv(逗號分隔變量)或.tsv(製表符分隔變量)文件。將輸出轉儲到csv是很「簡單的」(只要確保您在輸入中跳過任何逗號或製表符),然後excel就可以讀取它。

如果你想產生一個.xls文件,你必須找到一個你選擇的語言庫來實現處理.xls文件。例如,如果你使用的是python,有an entire mailing list專門討論這樣做

+0

但他們不會是「自定義格式的Excel工作簿」 – pavium 2010-01-02 07:59:14

+0

是真的。但不知道實際的目的是什麼,很難給出一個好的答案。 – 2010-01-02 08:09:29

2

事實上,這不是一個問題,而是一系列問題。我可以看到這個裏面以下不同問題(假設你要使用腳本語言如Perl或Python或類似的東西):

  • 任務必須進行
    • 在規定的時間間隔:使用cron
    • 經過預定義的事件:在這裏不多說了,這取決於你想要什麼。
  • 數據必須從檢索:
    • 從數據庫中:使用你的語言綁定您所使用的特定數據庫(例如:python bindings for sqlite3)從文件
    • (是什麼a Unix file:):根據文件的格式,您可以通過使用sed/awk或在您選擇的腳本語言(或其他:P)語言中編寫解析器。
  • 該數據必須是按摩成excel工作簿。那麼,我不太確定,你的意思是「自定義格式化」,但創建excel工作簿的最簡單方法實際上只是將它轉儲到.csv,但你可以進一步實際生成「僞xls」通過使用下面的模板並保存得到的文件.xls(它的實際工作):
<table> 
<tr> 
    <td>field0</td> 
    <td>field1</td> 
    .. 
    <td>fieldX</td> 
</tr> 
... ad inf 
</table> 
  • 生成的文件必須是:
    • 電子郵件:使用mail命令,它通常指向系統上的默認郵件程序(exim,sendmail,postfix)
    • 「傳輸」到Web服務器, - 我在這裏假設,這意味着「傳輸到另一臺機器,以便它可以通過http訪問「。在這種情況下,您可以使用ftp,sftp或rsync(我的最愛)。

對不起,爲非特異性至極,但它是不容易推斷究竟你想從你的問題來實現。

+0

你可以用html和excel(application/vnd.ms-excel)也做很多事情xml(http://stackoverflow.com/questions/ 1742640/exporting-excel-the-simple-way-but-not-csv)另請參閱http://stackoverflow.com/questions/150339/generating-an-excel-file-in-asp-net – Fionnuala 2010-01-02 12:00:35

+0

是的,我意識到這樣一個事實,即生成'.xls'文件有很多種方法,但由於提問者不太確定他想要什麼,我決定採用最直接的「快速和骯髒」的方式。 – shylent 2010-01-02 12:15:55

+0

@shylent道歉,我已經投票了你的答案,並添加了OP的筆記,我應該說清楚。 – Fionnuala 2010-01-02 14:16:46

相關問題