2016-08-23 43 views
4

我想在使用數據表加載數據表之前,將電子表格的所有單元格格式化爲文本。 這裏是我使用使用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

[Force EPPLUS read as text]可能重複(http://stackoverflow.com/questions/29429797/force-epplus-to-read-as-text) – par

回答

8

嘗試設置數字格式爲@ 前的示例代碼:rngitems.Style.Numberformat.Format = "@";
@格式的單元格爲文本。

參考:Force EPPLUS to read as text
上述線程可能重複。

+0

應該是rngitems.Style.Numberformat.Format = 「@」; < - 您在解決方案中忘記了「樣式」對象。 – BrianLegg

+0

是的,@BrianLegg我忘記了Numberformat之前的Style。現在添加它。謝謝。 – par

相關問題