Как получить указанное значение ячейки формулы в правильном типе данных с помощью SlapKit.Excel?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как получить указанное значение ячейки формулы в правильном типе данных с помощью SlapKit.Excel?

Сообщение Anonymous »

Я работаю над генератором отчетов с использованием SlapKit.Excel. Некоторые отчеты ссылаются на другие листы, используя такие формулы, как =Лист1!A1. Это отлично работает в созданном файле Excel, но когда я пытаюсь программно получить значение ячейки формулы, я получаю исключение System.InvalidCastException: указанное приведение недопустимо.. В моем случае тип данных — DateTime.
Мне удалось сузить проблему до:

Код: Выделить всё

var workbook = new XLWorkbook();
var worksheet = workbook.AddWorksheet();
worksheet.Cell(1, 1).Value = DateTime.Now;
worksheet.Cell(1, 2).FormulaR1C1 = "=R1C1";
Console.WriteLine(worksheet.Cell(1, 2).Value.GetDateTime());
Код создает исключение InvalidCastException. Я также попытался изменить числовой формат. Хотя это и меняет числовой формат ячейки формулы в выходном файле, это не решает проблему:

Код: Выделить всё

worksheet.Cell(1, 2).Style.NumberFormat = worksheet.Cell(1, 1).Style.NumberFormat;
Если я проверю свойство Type, оно скажет, что оно имеет тип Number:

Код: Выделить всё

Console.WriteLine(worksheet.Cell(1, 2).Value.Type);
Как я могу указать SlapKit.Excel, что эта ячейка имеет тип DateTime, чтобы не столкнуться с исключением?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -type-with
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»