Skip to content

Commit 44aebaf

Browse files
authored
feat(ExcelOpenXmlSheetWriter): adjust the location of the CustomFormatter execution (#722)
* adjust the location of the `CustomFormatter` execution * fix bug
1 parent 0688fda commit 44aebaf

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -325,16 +325,7 @@ private async Task WriteCellAsync(MiniExcelAsyncStreamWriter writer, string cell
325325

326326
private async Task WriteCellAsync(MiniExcelAsyncStreamWriter writer, int rowIndex, int cellIndex, object value, ExcelColumnInfo p, ExcelWidthCollection widthCollection)
327327
{
328-
var columnReference = ExcelOpenXmlUtils.ConvertXyToCell(cellIndex, rowIndex);
329-
var valueIsNull = value is null || value is DBNull;
330-
331-
if (_configuration.EnableWriteNullValueCell && valueIsNull)
332-
{
333-
await writer.WriteAsync(WorksheetXml.EmptyCell(columnReference, GetCellXfId("2")));
334-
return;
335-
}
336-
337-
if (p.CustomFormatter != null)
328+
if (p?.CustomFormatter != null)
338329
{
339330
try
340331
{
@@ -346,6 +337,15 @@ private async Task WriteCellAsync(MiniExcelAsyncStreamWriter writer, int rowInde
346337
}
347338
}
348339

340+
var columnReference = ExcelOpenXmlUtils.ConvertXyToCell(cellIndex, rowIndex);
341+
var valueIsNull = value is null || value is DBNull;
342+
343+
if (_configuration.EnableWriteNullValueCell && valueIsNull)
344+
{
345+
await writer.WriteAsync(WorksheetXml.EmptyCell(columnReference, GetCellXfId("2")));
346+
return;
347+
}
348+
349349
var tuple = GetCellValue(rowIndex, cellIndex, value, p, valueIsNull);
350350

351351
var styleIndex = tuple.Item1;

src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -325,15 +325,6 @@ private void PrintHeader(MiniExcelStreamWriter writer, List<ExcelColumnInfo> pro
325325

326326
private void WriteCell(MiniExcelStreamWriter writer, int rowIndex, int cellIndex, object value, ExcelColumnInfo columnInfo, ExcelWidthCollection widthCollection)
327327
{
328-
var columnReference = ExcelOpenXmlUtils.ConvertXyToCell(cellIndex, rowIndex);
329-
var valueIsNull = value is null || value is DBNull;
330-
331-
if (_configuration.EnableWriteNullValueCell && valueIsNull)
332-
{
333-
writer.Write(WorksheetXml.EmptyCell(columnReference, GetCellXfId("2")));
334-
return;
335-
}
336-
337328
if (columnInfo?.CustomFormatter != null)
338329
{
339330
try
@@ -346,6 +337,15 @@ private void WriteCell(MiniExcelStreamWriter writer, int rowIndex, int cellIndex
346337
}
347338
}
348339

340+
var columnReference = ExcelOpenXmlUtils.ConvertXyToCell(cellIndex, rowIndex);
341+
var valueIsNull = value is null || value is DBNull;
342+
343+
if (_configuration.EnableWriteNullValueCell && valueIsNull)
344+
{
345+
writer.Write(WorksheetXml.EmptyCell(columnReference, GetCellXfId("2")));
346+
return;
347+
}
348+
349349
var tuple = GetCellValue(rowIndex, cellIndex, value, columnInfo, valueIsNull);
350350

351351
var styleIndex = tuple.Item1; // https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.cell?view=openxml-3.0.1

0 commit comments

Comments
 (0)