你好,有两点请教下。
在生成导入模板的时候能支持加默认数据进去吗?
还有在导出数据的时候,能支持下拉数据选项一起导出吗 ?我实现IExporterHeaderFilter来设置MappingValues是不行的

在生成导入模板的时候能支持加默认数据进去吗? 是否可以使用同一个Dto,通过不同的特性,然后用导出方案来生成带数据的导入模板。
还有在导出数据的时候,能支持下拉数据选项一起导出吗 ? 目前不支持。Excel的下拉需要绑定数据,建议通过EPPLUS的API来处理。
在生成导入模板的时候能支持加默认数据进去吗? 是否可以使用同一个Dto,通过不同的特性,然后用导出方案来生成带数据的导入模板。
还有在导出数据的时候,能支持下拉数据选项一起导出吗 ? 目前不支持。Excel的下拉需要绑定数据,建议通过EPPLUS的API来处理。
如果导入导出使用同一个dto,在有下拉数据的情况下会有区别的。
大佬,我再问一下。 下拉数据源除了支持枚举,能支持在数据库中读取吗? 我尝试了在数据库中读取,然后通过实现IImportHeaderFilter来赋值,这样实现不了,因为ef上下文获取不到。如下图:

@linege IImportHeaderFilter支持依赖注入,可以解决DbContext的获取问题,可以参考以下示例:
/// <summary>
/// 依赖注入Filter测试
/// </summary>
public class DIFilter_Tests : TestBase, IDisposable
{
private readonly ITestOutputHelper _testOutputHelper;
public IExcelImporter Importer = new ExcelImporter();
ServiceCollection services;
public DIFilter_Tests(ITestOutputHelper testOutputHelper)
{
_testOutputHelper = testOutputHelper;
//初始化容器
services = new ServiceCollection();
//添加注入关系
services.AddSingleton<IImportResultFilter, ImportResultFilterTest>();
services.AddSingleton<IImportHeaderFilter, ImportHeaderFilterTest>();
services.AddSingleton<IExporterHeaderFilter, TestExporterHeaderFilter1>();
var serviceProvider = services.BuildServiceProvider();
AppDependencyResolver.Init(serviceProvider);
_testOutputHelper.WriteLine("DIFilter_Tests");
}
[Fact()]
public void AppDependencyResolverGetService_Test()
{
AppDependencyResolver.Current.GetService<IImportResultFilter>().ShouldNotBeNull();
AppDependencyResolver.Current.GetServices<IFilter>().ShouldNotBeNull();
}
@linege IImportHeaderFilter支持依赖注入,可以解决DbContext的获取问题,可以参考以下示例:
/// <summary> /// 依赖注入Filter测试 /// </summary> public class DIFilter_Tests : TestBase, IDisposable { private readonly ITestOutputHelper _testOutputHelper; public IExcelImporter Importer = new ExcelImporter(); ServiceCollection services; public DIFilter_Tests(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; //初始化容器 services = new ServiceCollection(); //添加注入关系 services.AddSingleton<IImportResultFilter, ImportResultFilterTest>(); services.AddSingleton<IImportHeaderFilter, ImportHeaderFilterTest>(); services.AddSingleton<IExporterHeaderFilter, TestExporterHeaderFilter1>(); var serviceProvider = services.BuildServiceProvider(); AppDependencyResolver.Init(serviceProvider); _testOutputHelper.WriteLine("DIFilter_Tests"); } [Fact()] public void AppDependencyResolverGetService_Test() { AppDependencyResolver.Current.GetService<IImportResultFilter>().ShouldNotBeNull(); AppDependencyResolver.Current.GetServices<IFilter>().ShouldNotBeNull(); }
你好大佬。 如果注入services.AddSingleton<IImportHeaderFilter, ImportHeaderFilterTest>(); 在ImportHeaderFilterTest中是能获取到数据库上下文,这样会出现多个导入功能使用的是同一个ImportHeaderFilter吧。
@linege 是的。之前有考虑加个约束,接下来有时间的话加上约束吧。