Je souhaite formater toutes les cellules de la feuille de calcul en tant que texte avant de le charger avec la table de données.
Voici l'exemple de code que j'utilise
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"));
Essayez de définir le format numérique comme @ ex: rngitems.Style.Numberformat.Format = "@";
@ met en forme la cellule en tant que texte.
Référence: Forcer EPPLUS à lire comme texte
éventuellement en double du fil ci-dessus.