Excel данные экспорта исправления ошибок номера / удаление зеленых треугольников - PullRequest
4 голосов
/ 08 августа 2011

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

Мы исправили следующее:

For Each objCell As Microsoft.Office.Interop.Excel.Range In objWorkSheetReport.Range(objWorkSheetReport.Cells(1, 1), objWorkSheetReport.Cells(Me.RowCount + 10, Columns.Count + 10)).Cells
    If IsNumeric(objCell.Value) Then
        objCell.Value = CDbl(objCell.Value)
    End If
Next

Это удаляет все эти маленькие зеленые треугольники, но очень медленно.

Вопрос

Существует ли более быстрый способ быстрого преобразования диапазона данных, чтобы зеленые треугольники не отображались?

1 Ответ

4 голосов
/ 08 августа 2011

Используйте метод .SpecialCells() диапазона, чтобы сузить его до тех ячеек, которые необходимо изменить.

Предполагая диапазон NarrowedRange и рабочий лист Sheet (замените свой собственный диапазон наA1:A8 и objWorksheetReport для вашего листа)

NarrowedRange = 
    Sheet.Range("A1:A8").SpecialCells(Excel.XlCellType.xlCellTypeConstants,
                                      Excel.XlSpecialCellsValue.xlTextValues)

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

...