web-dev-qa-db-ja.com

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"));
10
siva

数値形式を@ exとして設定してみてください:rngitems.Style.Numberformat.Format = "@";
@はセルをテキストとしてフォーマットします。

参照: EPPLUSをテキストとして読み取るように強制する
上記のスレッドと重複している可能性があります。

22
par