web-dev-qa-db-fra.com

En utilisant EPPlus, je veux formater toutes les cellules en TEXTE dans une feuille de calcul

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

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.

22
par