最近做导出Excel,模板里面根据网上的资料制作了一个下拉框,用于从数据源选择一些固定的数据,模板里面是好的,但是导出Excel之后那个下拉框的格式就没了,需要重新设置。请教各位大神,这个格式是否能保留?代码如下: public static bool AddExcelRecord(string filePath, DataTable dt, string fileName, System.Web.HttpResponse response)
        {
            try
            {
                WorkbookDesigner designer = new WorkbookDesigner();
                designer.Open(filePath);
                designer.SetDataSource(dt);
                designer.Process();
                designer.Save(fileName, SaveType.OpenInExcel, FileFormatType.Excel2007Xlsx, response);
                response.Flush();
                response.Close();
                response.End();
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }
4个参数分别是模板路径,想绑定的数据源,导出新Excel的名称和输出

解决方案 »

  1.   

    这个问题比较冷,估计没人能帮你。只有提示你一下,下拉框的产生是因为Excel执行了自动筛选的命令。你设法在aspose生成excel以后,程序调用excel自动执行一下这个命令。当然最好aspose也有这样的对等命令,就不用搞二次打开操作了。
      

  2.   

    试了各种方法,包括VBA给Excel写宏,只打开模板完全正常,但是通过Aspose下载之后总是无法保留,而且网上找不到资料,头疼啊
      

  3.   

    你是要保持模板里的下拉框还是可以通过Aspose.Cell创建,如果是后者,可以参考下面的两个链接使用Validation
    Creating Validation Rules for Cells
    http://www.cnblogs.com/KenBlove/archive/2009/01/07/1371104.html使用Aspose.Cells的基础知识整理
      

  4.   

    不好意思,这个问题一直没回来结贴,没解决,当时我甚至给Aspose官方留了贴,也没有得到满意的解答,官方只是建议使用新版本。
    最后实现的方式是给用户一个带下拉框的模板