- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 0
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2024-11-14
|
3#
發表於 2010-7-22 22:21
| 只看該作者
本帖最後由 luhpro 於 2010-7-22 22:23 編輯
照看你的需求若使用 .txt 格式的文字檔來存取資料可能會有一些癥結點需要考慮進去.
1. 不適合單獨抓取某一行資料出來變更後再存入檔案.
因為 .txt 格式的文字檔案是一般所謂的循序檔,
亦即要讀取(或寫入)資料時需要 "從頭至尾" 讀取(或寫入). (PS. 每一次存取都要重複一次)
然而你的資料量很顯然的應該並不小,
那麼資料處理與讀寫的時間就不會少了,
而且頻繁的存取整個單一檔案,
硬碟可是比較容易出現壞軌的喔.
2. 那麼要使用.txt 格式的文字檔案較可行的方式,
就是程式開始時"從頭至尾"讀一次資料放在記憶體中,
修改時直接修改記憶體上的資料,
編輯作業結束前再一次"從頭至尾"將所有資料依序寫入檔案中.
須考慮的是資料要以何種形式放在記憶體上?
我想較可行的方式是使用鏈結串列.
3. 而若不堅持使用 .txt 文字檔案格式的話,
我會建議採用隨機檔,
亦即 "固定" 每一筆資料(Excel上的每一列 或 .txt 檔中的每一行)的大小,
然後每次編修時只讀取某一筆資料 -> 修改內容 -> 再存入該筆資料.
4. 還有一個方式是當資料筆數達到活頁簿最大容許量時再新增一個活頁簿來存放下一區塊的資料,
或是改存到另一個Excel檔內,
當然...處理與存取資料的公式會變的比較複雜.
5. 最後我可以想到的方式就是 花點錢改用 Access 來存放資料吧. |
|