Skip to content

Commit f15b1f9

Browse files
committed
optimization cancellation
1 parent 2163b9d commit f15b1f9

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

src/MiniExcel/MiniExcelDataReaderBase.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ public virtual Task<bool> NextResultAsync(CancellationToken cancellationToken)
219219
{
220220
if (cancellationToken.IsCancellationRequested)
221221
{
222-
return MiniExcelTask.FromCanceled<bool>(new CancellationToken(true));
222+
return MiniExcelTask.FromCanceled<bool>(cancellationToken);
223223
}
224224
else
225225
{
@@ -258,7 +258,7 @@ public virtual Task<string> GetNameAsync(int i, CancellationToken cancellationTo
258258
{
259259
if (cancellationToken.IsCancellationRequested)
260260
{
261-
return MiniExcelTask.FromCanceled<string>(new CancellationToken(true));
261+
return MiniExcelTask.FromCanceled<string>(cancellationToken);
262262
}
263263
else
264264
{
@@ -297,7 +297,7 @@ public virtual Task<object> GetValueAsync(int i, CancellationToken cancellationT
297297
{
298298
if (cancellationToken.IsCancellationRequested)
299299
{
300-
return MiniExcelTask.FromCanceled<object>(new CancellationToken(true));
300+
return MiniExcelTask.FromCanceled<object>(cancellationToken);
301301
}
302302
else
303303
{
@@ -333,7 +333,7 @@ public virtual Task<bool> ReadAsync(CancellationToken cancellationToken)
333333
{
334334
if (cancellationToken.IsCancellationRequested)
335335
{
336-
return MiniExcelTask.FromCanceled<bool>(new CancellationToken(true));
336+
return MiniExcelTask.FromCanceled<bool>(cancellationToken);
337337
}
338338
else
339339
{

src/MiniExcel/OpenXml/ExcelOpenXmlSheetWriter.Async.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ private async Task CreateSheetXmlAsync(object value, string sheetPath, Cancellat
5656
switch (value)
5757
{
5858
case IDataReader dataReader:
59-
await GenerateSheetByIDataReaderAsync(writer, dataReader);
59+
await GenerateSheetByIDataReaderAsync(writer, dataReader, cancellationToken);
6060
break;
6161
case IEnumerable enumerable:
6262
await GenerateSheetByEnumerableAsync(writer, enumerable);
@@ -96,11 +96,11 @@ private async Task WriteDimensionAsync(MiniExcelAsyncStreamWriter writer, int ma
9696
writer.SetPosition(position);
9797
}
9898

99-
private async Task GenerateSheetByIDataReaderAsync(MiniExcelAsyncStreamWriter writer, IDataReader reader)
99+
private async Task GenerateSheetByIDataReaderAsync(MiniExcelAsyncStreamWriter writer, IDataReader reader, CancellationToken cancellationToken)
100100
{
101101
if (reader is IMiniExcelDataReader miniExcelDataReader)
102102
{
103-
await GenerateSheetByIMiniExcelDataReaderAsync(writer, miniExcelDataReader);
103+
await GenerateSheetByIMiniExcelDataReaderAsync(writer, miniExcelDataReader, cancellationToken);
104104
return;
105105
}
106106

@@ -215,7 +215,7 @@ private async Task GenerateSheetByIDataReaderAsync(MiniExcelAsyncStreamWriter wr
215215
}
216216
}
217217

218-
private async Task GenerateSheetByIMiniExcelDataReaderAsync(MiniExcelAsyncStreamWriter writer, IMiniExcelDataReader reader)
218+
private async Task GenerateSheetByIMiniExcelDataReaderAsync(MiniExcelAsyncStreamWriter writer, IMiniExcelDataReader reader, CancellationToken cancellationToken)
219219
{
220220
long dimensionPlaceholderPostition = 0;
221221
await writer.WriteAsync(WorksheetXml.StartWorksheet);
@@ -233,7 +233,7 @@ private async Task GenerateSheetByIMiniExcelDataReaderAsync(MiniExcelAsyncStream
233233
var props = new List<ExcelColumnInfo>();
234234
for (var i = 0; i < reader.FieldCount; i++)
235235
{
236-
var columnName = await reader.GetNameAsync(i);
236+
var columnName = await reader.GetNameAsync(i, cancellationToken);
237237

238238
if (!_configuration.DynamicColumnFirst)
239239
{
@@ -280,7 +280,7 @@ private async Task GenerateSheetByIMiniExcelDataReaderAsync(MiniExcelAsyncStream
280280
}
281281
}
282282

283-
while (await reader.ReadAsync())
283+
while (await reader.ReadAsync(cancellationToken))
284284
{
285285
await writer.WriteAsync(WorksheetXml.StartRow(yIndex));
286286
var xIndex = 1;
@@ -291,11 +291,11 @@ private async Task GenerateSheetByIMiniExcelDataReaderAsync(MiniExcelAsyncStream
291291
if (_configuration.DynamicColumnFirst)
292292
{
293293
var columnIndex = reader.GetOrdinal(props[i].Key.ToString());
294-
cellValue = await reader.GetValueAsync(columnIndex);
294+
cellValue = await reader.GetValueAsync(columnIndex, cancellationToken);
295295
}
296296
else
297297
{
298-
cellValue = await reader.GetValueAsync(i);
298+
cellValue = await reader.GetValueAsync(i, cancellationToken);
299299
}
300300

301301
await WriteCellAsync(writer, yIndex, xIndex, cellValue, props[i], widths);

0 commit comments

Comments
 (0)