Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASp.NET:建议一个最佳选项,允许用户以Excel格式在客户端下载datagrid中的数据_C#_Excel_Asp.net 2.0 - Fatal编程技术网

C# ASp.NET:建议一个最佳选项,允许用户以Excel格式在客户端下载datagrid中的数据

C# ASp.NET:建议一个最佳选项,允许用户以Excel格式在客户端下载datagrid中的数据,c#,excel,asp.net-2.0,C#,Excel,Asp.net 2.0,请建议允许用户将datagridView中的数据以excel格式从页面下载到客户端计算机的最佳选项 我有一个绑定到datagrid视图的数据集,甚至可以将数据集中的数据下载到客户端的excel中 请建议是否可以生成excel并允许用户在客户端下载 我正在使用asp.Net、C#、SQL server、Excel 请帮忙 可以使用MS Office互操作库编写解决方案代码 以下是一些可能对您有所帮助的示例: 最后一个真的很漂亮;它只是将DataGrid转换为Excel电子表格。。。 可以使

请建议允许用户将datagridView中的数据以excel格式从页面下载到客户端计算机的最佳选项

我有一个绑定到datagrid视图的数据集,甚至可以将数据集中的数据下载到客户端的excel中

请建议是否可以生成excel并允许用户在客户端下载

我正在使用asp.Net、C#、SQL server、Excel


请帮忙

可以使用MS Office互操作库编写解决方案代码

以下是一些可能对您有所帮助的示例:

最后一个真的很漂亮;它只是将DataGrid转换为Excel电子表格。。。

可以使用MS Office互操作库编写解决方案代码

以下是一些可能对您有所帮助的示例:

最后一个真的很漂亮;它只是将DataGrid转换为Excel电子表格。。。

Excel可以将HTML表格直接读取到电子表格中。您只需向下发送网页中显示的相同数据(减去例如超链接),并将
内容配置
标题设置为
附件
,以及适当的mime类型,以使客户端打开Excel。Excel然后将下载的HTML读入工作表。

Excel可以将HTML表格直接读入电子表格。您只需向下发送网页中显示的相同数据(减去例如超链接),并将
内容配置
标题设置为
附件
,以及适当的mime类型,以使客户端打开Excel。然后Excel将下载的HTML读取到工作表中。

我建议您输出一个逗号分隔值(CSV)文件。它们相对容易编写解决方案,您可以直接编写它们而无需进行互操作,并且它们直接在Excel中打开。

我建议您输出逗号分隔值(CSV)文件。它们相对容易编写解决方案,您可以直接编写它们而无需进行互操作,并且它们直接在Excel中打开。

我们在一些应用程序中这样做。这真的不难: 我们使用相同的aspx页面(我们向它发送一个参数,表明我们希望从aspx生成一个excel文件),并使用几行代码将aspx生成为xls文件

  • Page_Load方法中的第一行代码应为:

    //open as excell file
    Response.Buffer = true;
    Response.ContentType = "application/vnd.ms-excel";
    string FileName = this.Page.ToString().Replace("ASP.", "") + ".xls"; // so the file can be saved as excel
    Response.AppendHeader("content-disposition", "filename=\"" + FileName + "\";attachment");
    
  • 重要的是,在此模式下,请确保禁用ViewState。否则,它可能会完全混淆Excel并产生错误

  • 这就是我们所做的,它工作得非常好

    我应该补充一点,微软建议在将GridView导出到Excel时将其写入HtmlTextWriter,以确保生成的HTML是Excel能够理解的HTML。这很容易做到(除了生成了一个异常,但很容易克服),这两篇文章对此进行了很好的解释:
    ,并且

    我们在一些应用程序中这样做。这真的不难: 我们使用相同的aspx页面(我们向它发送一个参数,表明我们希望从aspx生成一个excel文件),并使用几行代码将aspx生成为xls文件

  • Page_Load方法中的第一行代码应为:

    //open as excell file
    Response.Buffer = true;
    Response.ContentType = "application/vnd.ms-excel";
    string FileName = this.Page.ToString().Replace("ASP.", "") + ".xls"; // so the file can be saved as excel
    Response.AppendHeader("content-disposition", "filename=\"" + FileName + "\";attachment");
    
  • 重要的是,在此模式下,请确保禁用ViewState。否则,它可能会完全混淆Excel并产生错误

  • 这就是我们所做的,它工作得非常好

    我应该补充一点,微软建议在将GridView导出到Excel时将其写入HtmlTextWriter,以确保生成的HTML是Excel能够理解的HTML。这很容易做到(除了生成了一个异常,但很容易克服),这两篇文章对此进行了很好的解释:
    ,和

    Related:Related:Hi如果我使用上述方法,我可以下载excel文件,但excel文件也包含HTML代码,这是按钮和其他控件的设计代码也在excel中下载。如何避免这种情况?嗨,我使用了response.clear,问题得到了解决。现在的问题是我使用分页,屏幕上显示的数据只能下载。但是我想要绑定到datagrid视图的所有数据?为了避免下载过多的HTML,请在HTML之前编写服务器端条件:。。。至于分页,您也可以使用以下条件禁用分页:if(excelState){grdMappingAndForecast.allowpage=false;}Hi如果使用上述方法,我可以下载excel文件,但excel文件也包含HTML代码,这是按钮和其他控件的设计代码也在excel中下载。如何避免这种情况?嗨,我使用了response.clear,问题得到了解决。现在的问题是我使用分页,屏幕上显示的数据只能下载。但是我想要绑定到datagrid视图的所有数据?为了避免下载过多的HTML,请在HTML之前编写服务器端条件:。。。至于分页,您也可以使用以下条件禁用分页:if(excelState){grdMappingAndForecast.allowpage=false;}