Maison >développement back-end >C++ >Comment formater des colonnes Excel en décimales lors de l'exportation à partir de C# ?

Comment formater des colonnes Excel en décimales lors de l'exportation à partir de C# ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-07 12:03:41232parcourir

How to Format Excel Columns as Decimals When Exporting from C#?

Formatage des colonnes Excel en décimal lors de l'exportation depuis C

Pour formater des colonnes spécifiques d'un fichier Excel en décimal lors de l'exportation depuis C#, vous pouvez utiliser la méthode suivante :

using OfficeOpenXml;
using OfficeOpenXml.Style;
using DataTable dt;

public void ExportToExcel(DataTable dt, string FileName)
{
    // Create a new Excel package.
    using (ExcelPackage excelPackage = new ExcelPackage())
    {
        // Create a new worksheet and load the data from the DataTable into it.
        ExcelWorksheet ws = excelPackage.Workbook.Worksheets.Add(FileName);
        ws.Cells["A1"].LoadFromDataTable(dt, true);

        // Apply number formatting to the specified columns (Actual Estimated Price and Approved Estimated Price in this example).
        int[] decimalColumns = { 1, 2 };
        foreach (int col in decimalColumns)
        {
            ws.Cells[ws.Dimension.Start.Row, col, ws.Dimension.End.Row, col].Style.Numberformat.Format = "0.00";
        }

        // Other formatting and cleanup code as needed...

        // Convert the Excel package to a byte array and send it to the browser.
        byte[] bin = excelPackage.GetAsByteArray();
        // ...
    }
}

En plus du formatage décimal, vous pouvez également fusionner les cellules d'en-tête et définir d'autres options de formatage à l'aide du Bibliothèque OfficeOpenXML. L'exemple de code ci-dessus montre comment effectuer ces opérations, telles que la fusion des cellules d'en-tête CustomerName et la définition de la ligne d'en-tête en gris avec du texte en gras :

const int headerRow = 1;

ws.Cells[headerRow, 1, headerRow, 2].Merge = true;
ws.Cells[headerRow, 1].Value = "CustomerName";

// ...

for (int col = 1; col <= ws.Dimension.End.Column; col++)
{
    // Make all columns just a bit wider.
    ws.Column(col).Width = ws.Column(col).Width + 1;

    var cell = ws.Cells[headerRow, col];
    
    // Format the header cells
    cell.Style.Font.Bold = true;
    cell.Style.Fill.PatternType = ExcelFillStyle.Solid;
    cell.Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#BFBFBF"));
}

Avec ces personnalisations, votre fichier Excel exporté aura le format souhaité. formatage des colonnes décimales et des cellules d'en-tête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn