C # написание текстовых серийных номеров в виде дат в файле Excel

Я написал парсер, который берет некоторую информацию из листов Excel, используя библиотеку Spire.xls, а затем записывает информацию в другой файл Excel.

У меня запуталась странная проблема. По какой-то причине программа принимает серийные номера, такие как

03-02281 03-02282 03-01975 

И записывая их в лист Excel как

 3/1/2281 3/1/2282 3/1/1975 

Это происходит только с некоторыми значениями.

Другие, такие как

 30-04761 03-00613 03-00614 

транскрибируются без изменений.

Я проверил в файле excel, поля заданы как text формат. Таким образом, они были либо сохранены таким образом, либо Excel интерпретирует серийные номера как даты. Другая возможность заключается в том, что это не происходит в исходном файле, и текст не корректируется автоматически и не изменяется, если я вручную ввожу правильные значения.

Кто-нибудь знает, почему это происходит, и как я могу сказать Excel просто рассматривать их как текст и ничего больше?

Я хотя бы добавляю ' к ним в начале каждого значения, но они должны быть прочитаны другими анализаторами, поэтому это не самый удобный вариант.

Edit: Вот некоторые из кода, который я использую для этого, надеюсь, он может дать вам, ребята, идею о том, где я ошибаюсь.

Это код, который добавляет все значения:

 Workbook workbook = new Workbook(); workbook.LoadFromFile(templateExcelFileUri); Worksheet sheet = workbook.Worksheets[0]; int ColumnIndex = 0; //for the datatable columns iteration int columnCounter = 1; //for the excel sheet columns iteration int ColumnsToAdd = 6; //(Seccion, seccion desc, marca, marca desc, **IdArticulo**, articulo desc) //get the data of the new column DataColumn DescriptionsDataColumn; //First, add the suggestions. for (; ColumnIndex < ColumnsToAdd; ColumnIndex++, columnCounter++) { sheet.InsertColumn(columnCounter); if(columnCounter==5) sheet.Columns[5].NumberFormat = "@";// the column with the serial numbers. DescriptionsDataColumn = AutomatController.DescriptionsTable.Columns[ColumnIndex]; //insert the data into the new column sheet.InsertDataColumn(DescriptionsDataColumn, true, 2, columnCounter); } 

И для ссылок, таблица, значения которой я добавляю:

 public static void SetDescriptionsTable() { DescriptionsTable.Columns.Add("Seccion", typeof(string)); DescriptionsTable.Columns.Add("SeccionDescripcion", typeof(string)); DescriptionsTable.Columns.Add("Marca", typeof(string)); DescriptionsTable.Columns.Add("MarcaDescripcion", typeof(string)); DescriptionsTable.Columns.Add("IdArticulo", typeof(string)); //Serial numbers DescriptionsTable.Columns.Add("ArticuloDescripcion", typeof(string)); } 

Спасибо за изменения в формате моего вопроса и названия. Я все еще немного новичок, и я учу, как это сделать лучше.

Причина, по которой некоторые значения не сопоставляются с датами, заключается в том, что они выходят за рамки формата MM-dyyyy. например, нет месяца 30 (30-02281) или дня 0 (03-01975).

Я думаю, что единственное, что вам нужно сделать, это установить формат целевого столбца и ячейки до установки его значения через API. Иногда клонирование столбца или ячейки по умолчанию форматирует значение «Авто», и Excel пытается быть слишком умным.

Если вы можете поделиться своим кодом, сообщество сможет более точно диагностировать проблему.

Перед установкой значения вы должны установить формат столбцов в общий.

  • C # чтение значений ячейки Excel с использованием Microsoft.Office.Interop.Excel
  • Как открыть полную книгу Excel?
  • Экспорт диаграмм Excel в виде изображений
  • Программно упорядочивать данные в Excel после использования итоговой функции с использованием C #
  • C # - Невозможно заменить текст в предложении в файле Excel
  • как идентифицировать сгруппированный столбец и скрытый столбец отдельно?
  • ¿Как получить точный адрес ячейки? (VB.NET/INTEROP.EXCEL)
  • Открыть файл Excel
  • csharp interop excel: как получить доступ к предварительно отформатированным стилям, таким как «форматирование учета»?
  • Как я могу получить значение для расширения по нескольким строкам в Excel?
  • Проблема C # .NET Excel. Применение файлов TXT в приложении Excel и загрузка в SharePoint
  • Давайте будем гением компьютера.