![]() |
#6 |
Moderator
|
Следующий код у меня нормально выводит 2400 символов в ячейку:
X++: static void Job148(Args _args) { COM rstAxa; COM flds, fld; COM xlApp; COM wbks, wbk; COM wkss, wks; COM rng; str strValue; int adoTypeToExcel(str _type) { switch (_type) { // используются значения констант перечисления DateTypeEnum из топика TypeProperty (ADO) // (см. справку по ADO в файле ADO210.CHM - можно поискать на своем компе) case 'num' : return 5; // adDouble case 'str' : return 8; // adBSTR case 'date': return 133; // adDBDate } return 8; } ; strValue = '1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, 1234567890123, '; strValue += strValue; // 20 значений strValue += strValue; // 40 значений strValue += strValue; // 80 значений strValue += strValue; // 160 значений (2400 символов) rstAxa = new COM('ADODB.Recordset'); flds = rstAxa.Fields(); flds.Append('strValue', adoTypeToExcel('str' )); rstAxa.Open(); rstAxa.AddNew(); fld = flds.Item('strValue'); fld.Value(strValue); rstAxa.Update(); xlApp = new COM('Excel.Application'); wbks = xlApp.Workbooks(); wbk = wbks.Add(); wkss = wbk.Worksheets(); wks = wkss.Item(1); rng = wks.Range('A1'); rng.CopyFromRecordset(rstAxa); rstAxa.Close(); xlApp.Visible(true); } |
|