Добрый день всем.
Реализую выгрузку в Excel на большой объём данных(более 50 тыщ строк)
Использую класс XMLExcelDocument_RU. Выгрузка через него происходит молнейностно в сравнении с ComExcelDocument_RU. Но на больших данных скорость падает экспоненциально(до часа и более). Решил оптимизировать выгрузку заполняя отчёт не по ячейкам а по строчно. И никак у меня это не получается. Пробовал передавать и строку разделённую табуляцие, и передавал массив...так же указывал и правильный Range. Но всё равно в Excel-е пишет всё в одну колонку.
Кто нить сталкивался с данной проблемой, и как её решил?
Спасибо.
X++:
XMLExcelDocument_RU excellDocument;
OXMLWorksheet_RU worksheet;
OXMLWorkbook_RU workbook;
Bookmark bookmark;
int rowNum,colNum,lineNo,countCol;
Filename newFileName;
Filename newPathFileName;
Array arr = new Array(Types::String);
str strVal;
rowNum = 10;
newFileName = WinAPI::getTempPath() + #reportSubFolder + "TestXLS.xlsx";
excellDocument = XMLExcelDocument_RU::newFromFile(TemplateProvider_RU::getFor(_args).get(resourceStr(Resourse)), newFileName);
strVal = num2char(9)+"qqq";
strVal = strVal + num2char(9)+"333";
strVal = strVal + num2char(9)+"rrrrrrrrr";
strVal = strVal + num2char(9)+"23323";
arr.value(colNum,"1111");
colNum++;
arr.value(colNum,"aaaaaa");
colNum++;
arr.value(colNum,"2222");
colNum++;
arr.value(colNum,"asdsasda");
colNum++;
workbook = excellDocument.workbook();
worksheet = workbook.getWorksheet();
bookmark = '';
bookmark = ComExcelDocument_RU::numToNameCell(1,rowNum) +':'+ComExcelDocument_RU::numToNameCell(4,rowNum);
bookmark = ComExcelDocument_RU::replaceWorksheetName(bookmark,worksheet.Name());
worksheet.
excellDocument.insertValue(bookmark, arr);