2012-10-03 11 views
5

kiedy konwertować DataTable do pliku .csv moje arkusze Excel generowane są jak poniżej: enter image description hereprogramowo excel komórki być szerokość i wysokość Aut.dop

i starał się jak poniżej:

sw.Write(string.Format("=\"{0}\"", drow[i].ToString())); 

wtedy mój arkuszy Excel byli jak:

enter image description here

zauważyć, że komórki mają =”" znaków;

Próbuję programowo dopasować szerokość automatycznej szerokości do szerokości &. W jaki sposób?

+2

Czy wypróbowałeś 'Excel.Rows.AutoFit' i' Excel.Columns.AutoFit'? – paul

+1

Czy właśnie tworzysz plik .csv, czy używasz Microsoft.Office.Interop.Excel do utworzenia rzeczywistego pliku Excela? – VoltaicShock

+0

@paul od teraz właśnie tworzę xl według strumienia; Czy muszę załadować Xl we współdziałaniu? dzięki za odpowiedź .... –

Odpowiedz

1

Znalazłem to na innej stronie:

C#

http://www.spreadsheetgear.com/support/help/spreadsheetgear.net.3.0/SpreadsheetGear~SpreadsheetGear.IRange~AutoFit.html

// Automatycznie ustawić szerokość na kolumnach B i C worksheet.Cells. [ "B: C"] Kolumny .AutoFit();

// Ustawienie wysokości wiersza na automatyczne w wierszach od 7 do 9. arkusz roboczy.Cells ["7: 9"] .Rows.AutoFit();

+0

dzięki za odpowiedź. już zrobiłem. –

+0

To ("xlWorkSheet.Cells [" 1:10 "]. Rows.AutoFit();") daje mi błąd, dokładniej "System.Runtime.InteropServices.COMException był nieobsługiwany" –

9

Spróbuj znaleźć zakres, a następnie zrobić automatyczne dopasowanie

Range.Rows.AutoFit(); 
Range.Columns.AutoFit(); 
2

Te pytania właśnie pomógł mi rozwiązać część problemu. Musiałem skopiować dane do pomocniczego, dodatkowego arkusza, a następnie wysłać go do datagridu, ale kiedy to zrobiłem, to wyświetliłoby w datagrid sekwencję ######### dla niektórych moich danych, które był większy niż samo pole. Więc użyłem **sheets.UsedRange.Columns.AutoFit();** , aby rozwiązać problem za każdym razem, gdy tworzona jest nowa kolumna. Gdzie Arkusze to moja zmienna, która otrzymała **Microsoft.Office.Interop.Excel.Worksheet**.

Dziękuję bardzo.

Powiązane problemy