Excel 將數個 sheets 依 sheet 名稱切割

生活智慧王…

時常匯資料,每次各學校給的資料都不一樣…問題百出,這次的課題是他把要分開存的 excel 全部都存到同一個 xls 且分好幾個 sheet 要怎麼辦勒~

用下面這個 vba 來執行,就會依照不同的名稱存檔與來源相同的資料夾內囉。

excel 2007 開啟 vba 在選單 excel 選項的地方 開啟 開發人員頁籤~就能跑了…


Sub Macro1()
Dim sh As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each sh In Sheets
sh.Copy
With ActiveWorkbook
.SaveAs ThisWorkbook.Path & "" & sh.Name & ".xlsx"
.Close
End With
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
MsgBox "完成"
End Sub

Syntax highlight office

GAE 傳檔案

由於有許多各方面的額度限制,所以要額外使用 blob service 來處理,比較不會發生逾時錯誤。

不過需要開啟付費的服務才能使用此api(開啟以後還是有一些免費額度可以使用)

http://code.google.com/appengine/docs/python/tools/webapp/blobstorehandlers.html#BlobstoreUploadHandler

那要怎麼跟 django 接在一起勒

google 食譜告訴你… http://appengine-cookbook.appspot.com/recipe/blobstore-get_uploads-helper-function-for-django-request/

example : http://blog.sserrano.com/post/479962742/blobstore-upload-with-django-form-validation-example

如果沒有信用卡可以開啟服務來測~

那可以考慮透過下面兩個方案來處理,用 java 的 sdk 來寫~都是在將檔案切割成數個檔,來突破 1MB 傳輸單頁面的限制,可以達到單檔10MB。

https://github.com/honzasterba/bigblobae

http://code.google.com/p/google-file-service/

這個經過實際測試是可以運行的。而且運作的還不錯~