Искам да отворя текстов файл със excela. Колоните са разделени с табулация(#9) и са 6 на брой.
Използвам следната конструкция:
Var
OfficeDocument: Variant;
OfficeDocument:= ExcelApplication.Workbooks;
OfficeDocument.OpenText(Filename:=WideString(Trim(FileName)),
Origin:=xlWindows,StartRow:=1,DataType:=xlDelimited,TextQualifier:=
xlDoubleQuote,ConsecutiveDelimiter:=False,Tab:=True,Semicolon:=False,
Comma:=False,Space:=False,Other:=False);
Файла се отваря без проблем. Всичките ми данни са текстови, но някой от тях представляват числа от вида; '0001'. Проблема е че excela ги
форматира като числа и '0001' става 1. Пробвах да генерирам макрос и той има следния вид:
Workbooks.OpenText Filename:= _
"C:\TEMP.XLS", Origin:=1254, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)), TrailingMinusNumbers:=True
Очевидно: FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1)) касае форматирането на всяка от колоните да е текстова.
Само че не знам как да интерпретирам тази конструкция на Delphi.
Разгледах сорса ExcelXP.pas
и там полето FieldInfo е от тип OleVariant.
Някакви предложения?
10x :) предварително
|