Rumah > pembangunan bahagian belakang > C++ > Bagaimana Memformat Lajur Perpuluhan Excel Dengan Betul Apabila Mengeksport Data Menggunakan C#?

Bagaimana Memformat Lajur Perpuluhan Excel Dengan Betul Apabila Mengeksport Data Menggunakan C#?

Patricia Arquette
Lepaskan: 2025-01-07 11:57:41
asal
759 orang telah melayarinya

How to Format Excel Decimal Columns Correctly When Exporting Data Using C#?

Memformat Lajur Excel kepada Perpuluhan Menggunakan C# pada Eksport

Apabila mengeksport data daripada pangkalan data ke Excel menggunakan C#, adalah mungkin untuk menghadapi masalah dengan lajur berangka tidak diformat dengan betul. Khususnya, nilai perpuluhan mungkin muncul sebagai integer dan bukannya menunjukkan tempat perpuluhan.

Untuk menyelesaikan isu ini dan memastikan lajur perpuluhan dieksport dengan betul, anda boleh menggunakan kaedah berikut untuk menambah pemformatan perpuluhan pada lajur tertentu dalam Fail Excel:

private static void ExportToExcel(DataTable dt, string FileName)
{
    // Create an ExcelPackage object.
    using (ExcelPackage excelPackage = new ExcelPackage())
    {
        // Add a new worksheet to the package.
        ExcelWorksheet ws = excelPackage.Workbook.Worksheets.Add(FileName);

        // Load the data from the DataTable into the worksheet.
        ws.Cells["A1"].LoadFromDataTable(dt, true);

        // Autofit the columns to accommodate the data.
        ws.Cells[ws.Dimension.Address].AutoFitColumns();

        // Iterate through the columns and apply decimal formatting to the desired ones.
        for (int col = 1; col <= ws.Dimension.End.Column; col++)
        {
            // Get the cell in the first row (header row) of the column.
            var cell = ws.Cells[1, col];

            // If the column contains numeric data, apply decimal formatting to it.
            var columnType = dt.Columns[col - 1].DataType;
            if (columnType == typeof(decimal) || columnType == typeof(double))
            {
                // Set the number format to two decimal places.
                cell.Style.Numberformat.Format = "0.00";
            }
        }

        // Convert the ExcelPackage object to a byte array.
        byte[] bin = excelPackage.GetAsByteArray();

        // Send the byte array to the browser for download.
        Response.ClearHeaders();
        Response.Clear();
        Response.Buffer = true;
        Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
        Response.AddHeader("content-length", bin.Length.ToString());
        Response.AddHeader("content-disposition", "attachment; filename=\"" + FileName + ".xlsx\"");
        Response.OutputStream.Write(bin, 0, bin.Length);
        Response.Flush();

        // Complete the request and clean up.
        HttpContext.Current.ApplicationInstance.CompleteRequest();
    }
}
Salin selepas log masuk

Kaedah ini menerima Jadual Data dan nama fail sebagai parameter. Ia mencipta objek ExcelPackage dan memuatkan data ke dalamnya. Kod itu kemudiannya berulang melalui setiap lajur dan menyemak sama ada ia mengandungi data berangka. Jika ya, format nombor ditetapkan kepada "0.00" untuk memastikan dua tempat perpuluhan dipaparkan. Akhir sekali, ExcelPackage ditukar kepada tatasusunan bait dan dihantar ke penyemak imbas sebagai lampiran.

Atas ialah kandungan terperinci Bagaimana Memformat Lajur Perpuluhan Excel Dengan Betul Apabila Mengeksport Data Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan