CSV表格读取,全套使用方式 方式一:NEWREADCSV ..\Data\cfg_guanzhi.csv 表格名字前面增加cfg_读取时会已常量形式存放在内存中(如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行)
/ x, N# G. @$ O. x" _! f2 j6 l
1 f3 V8 S. b+ H. V+ S我们通过以下去读相关内存中的表格常量值: b+ X( k: f/ B. [3 M: G/ d
/ v& | ]: E' H" n9 S' R
1.<$cfg_guanzhi(1_1)> 读取行列(行列可套用任意变量) 行列默认从0开始
& R! k- s9 b" E7 n0 I) ?4 j# n% E; j
2.<$GetTypeBRow(cfg_guanzhi,4,11)> 起始行,检测关键字所在的行数 (取第4列的,关键字11所在的初始行 ) 行列默认从0开始& e6 ^5 m; f- Q3 ~$ U
( b$ T2 T X2 \- E( `9 {* ]
3.<$GetTypeERow(cfg_guanzhi,5,11)> 结束行 (取第5列的,关键字11所在的最后一行 ) 行列默认从0开始 i3 D) Q' m8 f) X: w% Y
/ z- q9 t7 C; [5 F6 h( F4.<$Getcsv(cfg_文件名,Row)> 获取最大行数 建议启动获取,保存为变量 (行数默认从1开始)/ T$ L! y5 Z6 _' j& b0 k" a/ j
$ S0 H; Y3 `. R+ S# W
5.<$GetCsv(cfg_文件名,Col)> 获取最大列数 按照第1行计算 同上 (默认从1开始)
" S0 L% @! q/ {$ Y- ]# \" F6 z8 X; s7 j# ^
. x3 F5 z4 X7 F1 Y/ V) E+ }0 b+ v/ Q4 \' G
; m: K! B+ M8 Z* Q" Y" M9 Q
/ @. v+ [: L! W K3 J
. v$ S6 j/ B1 J' p方式二:
# s2 e% {, k' P, M
8 Z/ o& g/ T; d' ]8 E功能1:加载csv表格内容
, a$ v P1 ^1 q, Y0 h4 o8 d4 G格式:NEWREADCSV 路径
5 P* J6 q% y) t& w- J' ^: u1 n# }3 g! g. ?* V
功能2:读取表里面的第几行第几列内容(0行0列开始)! Y) @" h2 {8 z; [. e
格式:NEWDQCSV 路径 行数 列数 存到变量
3 @* y6 ^ ^% I5 B6 X' }6 V) k! F
. ~: D. V# s) i功能3:获取当前表格最大行数、和获取表格最大列数
* [9 Q: ], u# _8 y. `' W格式:GetHLCSV 路径 0,1(0=行数 1= 列数) 存到变量
1 }4 p$ h- z$ J
; u3 }8 U- c/ H% S$ ]2 ]1 W+ _功能4:取字符串在csv表格中的行号
# G- d7 k+ F' c格式:GetGJCSV 参数1 参数2 参数3 参数4 参数5 参数6 7 Z$ T: M) _& E; T
参数1=路径
6 m& R( n7 A" m) m( f4 L9 b1 ^参数2=字符串
# e5 o/ S9 X/ {- l参数3=开始行号~结束行号(表内容太多,整张表取会慢,所以建议设定号开始行号和结束行号)
( A+ c4 X1 Q# R' w2 `9 K* f参数4=在表第几列查找
5 f |6 l) X, V6 V8 q参数5=0,1(0=在开始哪行 1=在最后哪行)< /FONT>
* @+ Z1 x2 D# T$ p, l" X参数6=存入变量
) m, e+ \9 k/ u' _ ]2 N+ R" _0 F6 f5 J1 r! A$ K k
下面为全部例子:
& N+ K) _+ O5 O# B; d& k;加载csv表格内容例子:
( f' t- S( \2 L% h3 B[@加载表格]
0 x; K& ]1 T( E2 n: z( |#IF
: Y3 V/ H) H+ o( E( @3 U+ {: B. _6 V#ACT
1 X3 i: z/ N- @4 `! oNEWREADCSV ..\QuestDiary\test.csv + ]/ o' o# ^: m7 F1 I& a) i% H( s
SENDMSG 6 加载成功 8 ]5 _, V, `. p v. y. V0 p* r8 Q+ D
& c. a+ |, X/ i. X% [/ \8 m: P1 O+ G;读取表里面的第几行第几列内容例子:$ j# [7 j: X! b* s0 z8 f* a# q
[@读取表第几行第几列内容]
# ?6 U/ p- Y+ L: M3 j& G1 t#IF" ]. c7 I6 a+ V3 d( |8 S
#ACT
: V+ ^, X* u H6 f/ x' v7 bNEWDQCSV ..\QuestDiary\test.csv 2 2 S0
8 M/ _/ u; t6 o) V4 q9 ~SENDMSG 6 表里面的第二行第二列是:<$STR(S0)> ; |+ ?0 C" e% `
6 ~; @7 O! G. f2 e! k$ H- v;获取当前表格最大行数、和获取表格最大列数例子:9 y3 j7 ^' ]6 }; b: A! H
[@取最大行号]
5 g3 S9 P! N& }+ S5 ]8 A#if
4 j; M d$ \( e( g' M; z9 V#act* q+ E9 `; ]5 z4 l0 H9 T
GetHLCSV ..\QuestDiary\test.csv 0 N0
) u7 u: k& h2 @% j* G% p# a% u* J kSENDMSG 6 最大行数:<$STR(N0)> . O- G, k" q! z) E
: [* d6 v# {0 C8 M. U
;取字符串在csv表格中的行号例子:% @& [! j! S2 u. Z! H
[@取字符串在表位置]) m. U; `9 X% S. b: m" f7 M5 z8 f
#IF4 q$ k. E6 Q) \
#ACT
' g; ^, [3 y' p: [1 U3 xGetGJCSV ..\QuestDiary\test.csv 测试 0~10 2 0 N0
4 ]+ h. M- k% RSENDMSG 6 [测试]字符串在表的<$STR(N0)>行第2列
9 \' w- N& V( C1 I3 a: t" q |