Mój problem polega na tym, że próbuję ustawić typ danych do kolumny excel w C#, w tym przypadku numer typów danych , tekst i data. Używam DLL Microsoft.Office.Interop.Excel. Nie wiem, jak ustawić te formaty do komórek w całej kolumnie programu Excel za pomocą C# ma język programowania.Ustaw typ danych, takich jak numer, tekst i data w excel kolumnie przy użyciu Microsoft.Office.Interop.Excel w C#
Odpowiedz
Aby ustawić zakres tekstu:
xlYourRange.NumberFormat = "@";
Można również poprzedzić wartość można umieścić w celi z apostrofem na to, aby go sformatować jako tekst:
xlYourRange.Value = "'";
aby ustawić zakres do numeru
xlYourRange.NumberFormat = "0";
Oczywiście, jeśli chcesz ustawić format całej kolumny, wtedy twój zakres będzie równy lumn.
xlYourRange = xlWorksheet.get_Range("A1").EntireColumn;
EDIT:
Terminy są nieco bardziej skomplikowane i zależy również od ustawień regionalnych:
// Results in a Date field of "23/5/2011"
xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "23/5/2011";
// Results in a Custom field of "23/5/2011"
xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "23/5/2011";
// Results in a Custom field of "05/23/2011"
xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "5/23/2011";
// Results in a Custom field of "05-23-2011"
xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "5/23/2011";
// Results in a Date field of "23/05/2011"
xlRange.NumberFormat = "DD/MM/YYYY";
xlRange.Value = "5/23/2011";
// Results in a Custom field of "23-05-2011"
xlRange.NumberFormat = "DD-MM-YYYY";
xlRange.Value = "5/23/2011";
// Results in a Custom field of "23/5/2011"
xlRange.NumberFormat = "MM/DD/YYYY";
xlRange.Value = "23/5/2011";
// Results in a Custom field of "23/5/2011"
xlRange.NumberFormat = "MM-DD-YYYY";
xlRange.Value = "23/5/2011";
Jest to odpowiedź na pytanie poprosiłem o tym od jakiegoś czasu plecy.
Przede typy danych to facet wykorzystuje w swojej odpowiedzi to:
private struct ExcelDataTypes
{
public const string NUMBER = "NUMBER";
public const string DATETIME = "DATETIME";
public const string TEXT = "TEXT"; // also works with "STRING".
}
wygląda znajomo?
Jeśli jesteś zainteresowany, tutaj jest link:
Insert DataTable into Excel Using Microsoft Access Database Engine via OleDb
Tak, ze format daty wszystko jest bardziej skomplikowane - nawet bardziej skomplikowany niż Sid Holland wspomniał. Powodem są niektóre problemy z lokalizacją. Na przykład, jeśli twój system Windows ma rosyjską lokalizację, powinieneś używać rosyjskich liter w formatach daty, takich jak "ДД.MM.Г" lub "ГГГ-MM-ДД", a zatem powinieneś być w stanie wyodrębnić i zastosować te litery. Zobacz mniej lub bardziej kompletny opis i rozwiązanie tutaj: https://stackoverflow.com/a/35418176/2199512
- 1. Odczytywanie danych z programu Excel 2010 przy użyciu Microsoft.Office.Interop.Excel
- 2. jak pomnożyć wszystkie pozycje w kolumnie excel przez numer
- 3. Programowo utwórz stronę internetową w IIS przy użyciu C# i ustaw numer portu
- 4. Funkcja Excel, aby znaleźć ostatni numer w kolumnie
- 5. Jak odczytać typ danych wejściowych = "data" w obiekcie Javy Data?
- 6. Jak wyłączyć typ danych wejściowych = tekst?
- 7. Typ Rzucanie obiektu przy użyciu obiektu "Typ" w języku C#
- 8. Microsoft.Office.Interop.Excel bardzo powolny
- 9. Jak umieścić wiele danych w kolumnie danych?
- 10. Jak używać Data Tylko jako typ danych w Entity Framework
- 11. SQL - Jak znaleźć najwyższy numer w kolumnie?
- 12. pandy: Jak podzielić tekst w kolumnie na kilka wierszy?
- 13. Jak narysować tekst w niestandardowym widoku przy użyciu Objective-C?
- 14. Ustaw wartość <typ wejściowy = "data" ... w jquery
- 15. Jak zdefiniować typ "geografii" za pomocą Npgsql i OrmLite (przy użyciu postgresql, postgis, C#)
- 16. Jak odwołać się do Microsoft.Office.Interop.Excel dll?
- 17. Odniesienie do zakresu przy użyciu kolumny numer
- 18. Ustaw tekst w AccessibilityNodeInfo
- 19. typ danych promocja w C
- 20. Pobierz i ustaw w C#
- 21. Numer formatu z separatorem tysięcy w programie Excel przy użyciu Apache POI
- 22. Pobierz tekst w kolumnie CSS3?
- 23. Jak zrobić $ push przy użyciu MongoRepository w Spring Data?
- 24. Ustaw tekst i pobierz tekst ze schowka
- 25. Jak odzyskać HTML5 data- * atrybuty przy użyciu C#
- 26. Jak dodać filtr w programie Excel wygenerowany przy użyciu wtyczki js-xlsx
- 27. Jak uzyskać numer wiersza przy użyciu skanera
- 28. Formatowanie podzbioru tekstu w komórce programu Excel przy użyciu formuły
- 29. Obsługa przechowywania danych w bazach danych obiektów takich jak db4o
- 30. Korzystanie atrybut niestandardowy typ w <script> tagów takich jak tekst jQuery/x-jquery-tmpl
W przypadku ustawionego zakresu do tej pory xlYourRange.NumberFormat = "DD/MM/YYYY"; to ustawić zakres do niestandardowego typu staram xlYourRange.NumberFormat = "DD-MM-YYYY"; , a następnie ustaw aktualny typ: – Jack1987
@ Jack1987 Wygląda na to, że daty są jeszcze bardziej skomplikowane niż na początku. Zmieniono moją odpowiedź, by zawierała więcej kombinacji, ale wygląda na to, że to głównie próba i błąd. W aplikacjach zakodowałem to, co zwykle robię, ustawiając datę jako ciąg znaków i formatuję ją jako "23 września 2011 r.", Aby pozostała jako ciąg znaków. W ten sposób mogę zawsze zagwarantować format bez względu na ustawienia regionalne użytkownika. –
Jeśli myślisz o problemach z lokalizacją w formatach daty (na przykład w rosyjskiej lokalizacji twój format daty może być "ДД.MM.ГГ"), zobacz moją odpowiedź tutaj: http://stackoverflow.com/a/35418176/ 2199512 – Jordan