내보내기 시 C#을 사용하여 Excel 열을 10진수로 서식 지정
C#을 사용하여 데이터베이스에서 Excel로 데이터를 내보낼 때 문제가 발생할 수 있습니다. 숫자 열의 형식이 올바르게 지정되지 않았습니다. 특히 소수 값은 소수 자릿수를 표시하는 대신 정수로 나타날 수 있습니다.
이 문제를 해결하고 소수 열을 올바르게 내보내려면 다음 방법을 사용하여 다음 방법을 사용하여 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(); } }
이 메서드는 DataTable과 파일 이름을 매개 변수로 받아들입니다. ExcelPackage 개체를 만들고 여기에 데이터를 로드합니다. 그런 다음 코드는 각 열을 반복하여 숫자 데이터가 포함되어 있는지 확인합니다. 그렇다면 소수점 이하 두 자리가 표시되도록 숫자 형식이 "0.00"으로 설정됩니다. 마지막으로 ExcelPackage는 바이트 배열로 변환되어 브라우저에 첨부 파일로 전송됩니다.
위 내용은 C#을 사용하여 데이터를 내보낼 때 Excel 소수 열의 형식을 올바르게 지정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!