09.06.2007, 11:00 | #1 |
Участник
|
Проблемы при экспорте в Excel
При экспорте данных в Excel происходит ненужное округление:
Пример в Axapta 0,099 а в Excel попадает 0,100 ? а вот другой пример: в Axapta 0,99 а в Excel 0,99 -правильно! как можно исправить это? Формат ячейки в Excel использовал разный-не помогает. |
|
09.06.2007, 12:09 | #2 |
MCT
|
static void Job23333333(Args _args)
{ AsciiIo dataFile = new AsciiIo('c:\\_1.xls', "w"); real test = 0.099; ; dataFile.outFieldDelimiter("\t"); dataFile.write([ num2str(test,2,3,2,2), strfmt('%1',test)]); WinAPI::shellExecute('c:\\_1.xls'); } |
|
09.06.2007, 14:10 | #3 |
Участник
|
А каким способом экспортируете данные? Может, Excel тут вообще не при чем, а виноват способ передачи данных?
Например, использование strFmt("%1",0.099) автоматически проведет округление, поскольку использует текущие региональные настройки системы. |
|
09.06.2007, 15:33 | #4 |
Участник
|
Цитата:
X++: class smth { // map <InventTable fieldId> -> [<fieldName>, <baseType>, <noOfDecimals>] Map mapFieldData; } void printField(InventTable _inv, FieldId _fieldId) { DictField dictField; SysDictType dictType; Types baseType; int nDecimals; str strFldName; str strValue; ; // cache field information if(!mapFieldData) mapFieldData = new Map(Types::Integer, Types::Container); if(!mapFieldData.exists(_fieldId)) { dictField = new DictField(_inv.tableId, _fieldId); dictType = new SysDictType(dictField.typeId()); strFldName = dictField.name(); baseType = dictField.baseType(); nDecimals = dictType.noOfDecimals(); mapFieldData.insert(_fieldId, [strFldName, baseType, nDecimals]); } else [strFldName, baseType, nDecimals] = mapFieldData.lookup(_fieldId); switch(baseType) { // print as many decimals as it's set up in the EDT case Types::Real: strValue = num2str(_inv.(_fieldId),1,nDecimals,1,0); break; default : strValue = strfmt('%1',_inv.(_fieldId)); } info(strfmt(@"For item '%1 - %2' %3 value: %5%4%5", inv.ItemId, inv.itemName(), strFldName, strValue, (baseType == Types::String ? @"'" : ''))); } |
|
13.06.2007, 06:51 | #5 |
Участник
|
Спасибо
действительно дело было в формате передачи данных из Axapta! |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Скорость работы при экспорте в Excel | 17 | |||
Проблемы с выгрузкой отчета их HTML в Excel. Ax3.0 | 20 | |||
Автовысота строк при экспорте в excel | 17 | |||
проблемы с Excel | 6 | |||
Ошибки при экспорте в Excel | 9 |
|