2016-08-23 15 views
4

スプレッドシートのすべてのセルをテキストとしてフォーマットしてから、データテーブルをロードします。テキストとして書式セル@rngitems.Style.Numberformat.Format = "@";
:ここ は私がEPPlusの使用スプレッドシートでTEXTとしてすべてのセルをフォーマットしたい

StringBuilder sbitems = new StringBuilder(); 
sbitems.Append(@"select * from Items"); 
SqlDataAdapter daitems = null; 
DataSet dsitems = null; 

daitems = new SqlDataAdapter(sbitems.ToString(), constate); 
daitems.SelectCommand.CommandTimeout = 0; 
dsitems = new DataSet("Items"); 
daitems.Fill(dsitems); 

app.Workbook.Worksheets.Add("Items").Cells["A1"].LoadFromDataTable(dsitems.Tables[0], true); 
Excel.ExcelWorksheet worksheet2 = workBook.Worksheets["Items"]; 
using (var rngitems = worksheet2.Cells["A1:BH1"])//Giving colour to header 
{ 
    rngitems.Style.Font.Bold = true; 
    rngitems.Style.Fill.PatternType = ExcelFillStyle.Solid; 
    rngitems.Style.Fill.BackgroundColor.SetColor(Color.Yellow); 
    rngitems.Style.Font.Size = 11; 
    rngitems.AutoFitColumns(); 
} 

worksheet2.Cells["A1:BH1"].AutoFitColumns(); 
worksheet2.Cells["A1:BH1"].Style.Font.Bold = true; 

app.SaveAs(new System.IO.FileInfo(@"D:\ItemsData\testfileexcelnew.xlsx")); 
+0

[EPPLUSをテキストとして読み込むように強制]の複製が可能です。(http://stackoverflow.com/questions/29429797/force-epplus-to-read-as-text) – par

答えて

8

を使用していたサンプル・コードは @元として数値書式を設定してみてくださいです。

参照:Force EPPLUS to read as text
おそらく上記のスレッドの複製。

+0

rngitems.Style.Numberformat.Format = "@"; < - あなたはあなたのソリューションの中の "スタイル"オブジェクトを忘れてしまった。 – BrianLegg

+0

はい、@ BrianLeggはNumberformatの前に 'Style'を忘れました。それを今追加しました。ありがとう。 – par

関連する問題