|
|
#1 |
|
Участник
|
Вопрос:
Как (нужен кусочек кода) вытащить значения из ячейки Excell в Axapte посредством COM ? Примечание: писать в ексель получалось без проблем, а вот обратно ... что то не смог функцию найти. |
|
|
|
|
#2 |
|
Участник
|
Код: SysExcelApplication sysExcelApplication;
SysExcelWorksheet sysExcelWorksheet;
SysExcelCell sysExcelCell;
int row,col,k;
str path = "C:\\Customers.xls";
;
sysExcelApplication = sysExcelApplication::construct();
sysExcelApplication.workbooks().open(path);
if(!sysExcelApplication.workbooks())
throw error("Ошибка открытия файла!");
SysExcelWorksheet = sysExcelApplication.workbooks().item(1).worksheets().itemFromNum(1);
if(!SysExcelWorksheet)
throw error("Книга пустая");
ttsbegin;
custTable.selectForUpdate(true);
for(row = 2; row <= 100; row++)
{
sysExcelCell = SysExcelWorksheet.cells().item(row,1);
custTable.clear();
custTable.AccountNum = num2str0(row,1);
custTable.Name = SysExcelWorksheet.cells().item(row,2).value().bStr();
custTable.INN_RU = SysExcelWorksheet.cells().item(row,3).value().bStr();
/*************************************
прочий код здесь
**************************************/
custTable.insert();
}
ttscommit;
sysExcelApplication.workbooks().close(); |
|
|
|
|
#3 |
|
Шаман форума
|
Также для тех, кому лень программировать, стандартная примочка для обмена с Екселем
http://www.atlasxl.com.au/AtDownload.htm Можно у них код посмотреть...
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately. |
|
|
|
|
#4 |
|
Участник
|
спасибо.
|
|
|
|
|
#5 |
|
drc
|
<div class='XPPtop'>X++</div><div class='XPP'>
[color=:blue]for[/color](row = 2; row <= 100; row++) { }</div> А как достоверно узнать конец Excel-файла? |
|
|
|
|
#6 |
|
Модератор
|
А нет его. Разве что почти достоверно - по определенному количеству пустых строк. Если есть выделенная область (selection) - ее размеры получаются тривиально
__________________
-ТСЯ или -ТЬСЯ ? |
|
|
|
|
#7 |
|
Участник
|
... Нет-то его нет, но если у Вас есть прямоугольная (или какая-то разумная, заполненная ячейками) область листа, то поступить можно, например, так (код на VBA for Microsoft Excel):
Код: Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select |
|
|