2010-03-03 3 views
1

Я обновляю значение ячейки листа Excel до 2009 года и становится изменением к 2009.3.Как обновить значение ячейки Excel «2009.03» вместо «2009.3»

Я пробовал способы решения проблемы, но значение всегда менялось на «2009.3» вместо «2009.03» на сервере. Он работает на моей системе, но не на Win XP 2003 Server System.

Я использовал для установки excel cell NumberFormat значение «@», «0.00», «####. ##» и даже пытался соединить «» перед значением, но результат не пришел. Файл Excel имеет формат 2007 г. (.xlsx). > Мой код

Microsoft.Office.Interop.Excel.Workbook WorkBook = null; 
Microsoft.Office.Interop.Excel.Worksheet Sheet = null; 
WorkBook = Utility.GetWorkbook2007(templateFileWPath); 
Sheet = (Microsoft.Office.Interop.Excel.Worksheet)WorkBook.Worksheets[1]; 
Microsoft.Office.Interop.Excel.Range TPCellRange = (Microsoft.Office.Interop.Excel.Range)Sheet.Cells[this.GetRowIndex(Sheet, this.CellAddress), this.GetColumnIndex(Sheet, this.CellAddress)]; 
TPCellRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault,"2009.03"); 

или же пытались

CellValueRange.NumberFormat = "@"; 
CellValueRange.set_Value(Microsoft.Office.Interop.Excel.XlRangeValueDataType.xlRangeValueDefault, "2009.03"); 

ответ

1

Это кажется странным. Может ли это интерпретировать число как дату (и форматирование месяца с нулевым и без него)? Используете ли вы период в качестве разделителя даты в своей культуре (или, более конкретно, в культуре, на которой настроена машина)?

Кроме того, я не знаком с API-интерфейсом Excel, но функции, которые вы используете, больше похожи на то, что вы пытаетесь установить диапазон, а не задавать значение в ячейке.

1

Что произойдет, если вы выполните следующее?

TPCellRange.Formula = 2009.03; 
Смежные вопросы