Следующий код у меня нормально выводит 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);
}
Может быть, с методом формирования строки серийников какие-нибудь проблемы? Может, попробовать параллельно выводить серийники в инфолог?