后台:目前在我的MVC应用程序中,我正在使用excel表的已定义布局成功导入excel文件(就像在我告诉客户端文件列必须在指定的情况下一样)订单和开始行必须从第1行开始。现在这很好。
TO DO:但客户端的新要求是他们希望能够在没有预定义结构的情况下上传excel文件(因此列可以按任何顺序排,行可以启动从1到10)
有没有人遇到类似的要求并成功实施了它,并且可以给我一些关于如何使其工作的指示。我假设他们上传excel文件后我需要向他们展示某种excel表格表示,他们可以输入上传结构和我的结构之间的列映射?任何想法?
感谢您的帮助。
答案 0 :(得分:2)
我做了类似的事情并且要求列标题/名称来自预定义的池(由可选/强制区分) - 因此在导入数据时列的顺序不会有所区别...我做了“列名池”与上传文件中的列名之间的比较有点“容错”,通过剥离空格(Trim)并比较它不区分大小写......
这很好用,并允许我的应用程序显示特定的错误消息,如“列xy缺失”或“找到未知列z”...稍后客户端要求设置允许覆盖错误处理 - 即“只是丢弃未知列“或”存储它们没有任何功能“...
该应用程序可选地显示“导入报告”,详细说明在整个导入过程中已完成的操作,以便他们可以接受/拒绝。