專案作業中需要造資料,從txt檔案中獲取定長資料,直接從txt中修改,會顯得十分麻煩,於是便利用excel自帶的vba寫了乙個小工具。效果如下:
a1表示欄位名,a2表示長度,a3是資料,也可以增加字段型別,自行拓展
點選「create」按鈕後,會在該excel檔案目錄下生成相應txt檔案,txt檔案的名字是自動獲取此sheet頁的名字
sheet名字
生成檔案列表
檔案內容
可自動生成多行資料
主要**如下
1**有缺陷,每迴圈一次就要建立乙個讀寫例項,然後再關閉,影響效率,想把建立時提到迴圈前面,把close放到迴圈外面,試了一下,不曉得為什麼會出問題。subinputdata_click()
2dim cols as
integer
3dim rows as
integer
4dim
stras
string
5dim num as
integer
6dim nullstr as
string
7dim strfilename as
string
89 cols =activesheet.usedrange.columns.count
10 rows = activesheet.range("
a1048576
").end(xlup).row
11 strfilename = thisworkbook.path & "
\" & activesheet.name & "
.txt"12
str = ""
13 nullstr = ""
1415
ifdir(strfilename, 16) <> empty then
16kill
strfilename
17end
if18
19for j = 3
torows
20for i = 1
tocols
21 num = activesheet.cells(2
, i)
22if num - len(activesheet.cells(j, i)) < 0
then
23msgbox
"the char
" & activesheet.cells(j, i) & "
(row:
" & j & "
,col:
" & i & "
)" & "
's length is wrong !"24
exit sub
25end
if26
for k = 1
to num - len
(activesheet.cells(j, i))
27 nullstr = nullstr & "0"
28next
29str = str & nullstr &activesheet.cells(j, i)
30 nullstr = ""
31next
32set fs = createobject("
scripting.filesystemobject")
33set f = fs.opentextfile(strfilename, 8, true
)34 f.writeline str
35f.close
36str = ""
37next
3839
msgbox
"input success"40
end sub
本人vba初學,不是很懂,希望改善
讀取excel和txt資料
1.建立乙個file檔案物件 並獲取資料 file file new file 檔案絕對位置 包含檔名和檔案字尾 2.建立乙個excel物件 workbook wb workbook.getworkbook file 3.獲取excel每頁的資訊 乙個excel 中可以有很多頁,在excel下方切換...
Eprime的txt資料轉換為excel
總結完整 如下 示例 import os import pandas as pd 如下 示例 path c users chengsi desktop sj encoding exp program 第二次後測 eprime儲存資料的資料夾 txt ls 提取.txt字尾的檔案 for root,d...
excel資料生成sql insert語句
excel 中有a b c三列資料,希望匯入到資料庫users表中,對應的字段分別是name,age 在你的excel 中增加一列,利用excel的公式自動生成sql語句,方法如下 1 增加一列 d列 2 在第一行的d列,就是d1中輸入公式 concatenate insert into users...