2012-06-18 6 views
5

Ładowanie danych do formatu Excel z datatable przy użyciu metody LoadFromDataTable, a następnie zmiana formatu komórki na liczbę całkowitą nadal pokazuje błąd "Liczba w tej komórce jest sformatowana jako tekst lub poprzedzona przez apostrof ".Konwersja do liczby całkowitej w programie excel za pomocą programu EPPlus (asp.net)

komórka wyświetlała się tylko z prawej strony, a format liczb tylko dla właściwości komórki.

Nadal nie rozumiem, dlaczego otrzymuję ten błąd?

Dim wsManufacturing As ExcelWorksheet = pck.Workbook.Worksheets.Add("Manufacturing") 
wsManufacturing.Cells("A1").LoadFromDataTable(dtManufacturing, True) 
Using col As ExcelRange = wsManufacturing.Cells(2, 2, 2 + dtManufacturing.Rows.Count, 2) 
    col.Style.Numberformat.Format = "#,##0" 
    col.Style.HorizontalAlignment = ExcelHorizontalAlignment.Right 
End Using 

enter image description here

Odpowiedz

-1

Zmiana formatu z tekstu na numer nie zmienia charakteru aktu, który był w celi przed zmianą formatu.

Aby zmienić dane, które były pierwotnie tekstowe reprezentacje liczb

  1. zmienić format komórki na numer
  2. Wpisz 1 w jakiejś komórce
  3. Edycja/Kopiuj
  4. Wybierz komórkę (s) z numerami tekstu
  5. Wklej specjalnie/pomnóż
  6. Usuń oryginał 1
+3

programowe rozwiązanie! –

2

Można zrobić tak:

//strValue="98.5%"; 
double realValue=double.Parse(strValue.Replace("%", string.Empty)); 
Worksheet.Cells[row + 1, col].Style.Numberformat.Format = "#0\\.00%"; 
Worksheet.Cells[row + 1, col].Value = realValue; 
nie