你这样做使用起来效率就低了,先把两者做成一个完整的对照表保存下来,然后加载到内存中给查询调用,这样对于大量查询替换而言效率更改一下。用伪代码写一下实现你描述功能的方法: Function String GetChinese(string jp, WorkBook wbJP, WorkBook wbCN) ' 获取位置 (sheetIndex, rowIndex, cellIndex) int i, row, col for i = 1 to wbJP.WorkSheets.Count WorkSheet ws = wbJP.WorkSheets[i] for row = 1 to MAXROWS '最多的行数 for col = 1 to MAXCOLUMNS '最多的列数 string text = ws(row, col) if text.length = 0 then goto NEXTROW '遇到空的内容表示一行处理完成,结束本行处理 if text = jp then GetChinese = wbCN.WookSheet[i](row, col) '找到匹配内容了,返回对应中文内容 next col NEXTROW: if ws(row + 1, 1).length = 0 then goto NEXTSHEET '遇到空的内容结束本WorkSheet处理 next row NEXTSHEET: next i GetChinese = jp '没有匹配内容,返回输入字符串 End Function
Function String GetChinese(string jp, WorkBook wbJP, WorkBook wbCN)
' 获取位置 (sheetIndex, rowIndex, cellIndex)
int i, row, col
for i = 1 to wbJP.WorkSheets.Count
WorkSheet ws = wbJP.WorkSheets[i]
for row = 1 to MAXROWS '最多的行数
for col = 1 to MAXCOLUMNS '最多的列数
string text = ws(row, col)
if text.length = 0 then goto NEXTROW '遇到空的内容表示一行处理完成,结束本行处理
if text = jp then GetChinese = wbCN.WookSheet[i](row, col) '找到匹配内容了,返回对应中文内容
next col
NEXTROW:
if ws(row + 1, 1).length = 0 then goto NEXTSHEET '遇到空的内容结束本WorkSheet处理
next row
NEXTSHEET:
next i
GetChinese = jp '没有匹配内容,返回输入字符串
End Function
2. 将需要转换的Excel的内容逐个Cell提取文本,与数组进行比对查找和替换;
3. 将替换后的文本输出到结果Excel。