mirror of
https://gitee.com/LongbowEnterprise/BootstrapBlazor.git
synced 2024-11-30 02:58:37 +08:00
feat(TableExport): add DataReaderBase class (#4074)
* refactor: 使用基类精简代码 * chore: update excel package
This commit is contained in:
parent
c99b66075a
commit
acac1b9d5f
@ -11,7 +11,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="BootstrapBlazor" Version="8.5.1" />
|
||||
<PackageReference Include="MiniExcel" Version="1.31.3" />
|
||||
<PackageReference Include="MiniExcel" Version="1.34.1" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -3,11 +3,12 @@
|
||||
// Website: https://www.blazor.zone or https://argozhang.github.io/
|
||||
|
||||
using BootstrapBlazor.Components.Extensions;
|
||||
using MiniExcelLibs;
|
||||
using System.Data;
|
||||
|
||||
namespace BootstrapBlazor.Components;
|
||||
|
||||
class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColumn> cols, TableExportOptions options) : IDataReader
|
||||
class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColumn> cols, TableExportOptions options) : MiniExcelDataReaderBase
|
||||
{
|
||||
private int _rowIndex = -1;
|
||||
private readonly IEnumerable<TModel> _rows = items;
|
||||
@ -15,7 +16,12 @@ class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColu
|
||||
private readonly TableExportOptions _options = options;
|
||||
private readonly int _rowCount = items.Count();
|
||||
|
||||
public object this[int i]
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
public override object this[int i]
|
||||
{
|
||||
get
|
||||
{
|
||||
@ -29,7 +35,12 @@ class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColu
|
||||
}
|
||||
}
|
||||
|
||||
public object this[string name]
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <returns></returns>
|
||||
public override object this[string name]
|
||||
{
|
||||
get
|
||||
{
|
||||
@ -43,132 +54,23 @@ class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColu
|
||||
}
|
||||
}
|
||||
|
||||
public int Depth { get; }
|
||||
|
||||
public bool IsClosed { get; }
|
||||
|
||||
public int RecordsAffected { get; }
|
||||
|
||||
public int FieldCount { get; } = cols.Count();
|
||||
|
||||
public bool GetBoolean(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public byte GetByte(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public long GetBytes(int i, long fieldOffset, byte[]? buffer, int bufferOffset, int length)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public char GetChar(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public long GetChars(int i, long fieldOffset, char[]? buffer, int bufferOffset, int length)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public IDataReader GetData(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetDataTypeName(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public DateTime GetDateTime(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public decimal GetDecimal(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public double GetDouble(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
[return: DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicFields | DynamicallyAccessedMemberTypes.PublicProperties)]
|
||||
public Type GetFieldType(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public float GetFloat(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Guid GetGuid(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public short GetInt16(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetInt32(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public long GetInt64(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetOrdinal(string name)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public DataTable? GetSchemaTable()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetString(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetValues(object[] values)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public bool IsDBNull(int i)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public bool NextResult()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetName(int i)
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
public override string GetName(int i)
|
||||
{
|
||||
var col = _columns.ElementAtOrDefault(i);
|
||||
return col?.GetDisplayName() ?? string.Empty;
|
||||
}
|
||||
|
||||
public object GetValue(int i)
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
/// <param name="i"></param>
|
||||
/// <returns></returns>
|
||||
public override object GetValue(int i)
|
||||
{
|
||||
object? v = null;
|
||||
var row = _rows.ElementAtOrDefault(_rowIndex);
|
||||
@ -188,19 +90,13 @@ class ExportDataReader<TModel>(IEnumerable<TModel> items, IEnumerable<ITableColu
|
||||
return v!;
|
||||
}
|
||||
|
||||
public bool Read()
|
||||
/// <summary>
|
||||
/// <inheritdoc/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public override bool Read()
|
||||
{
|
||||
_rowIndex++;
|
||||
return _rowIndex < _rowCount;
|
||||
}
|
||||
|
||||
public void Close()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user