0

我正在开发一个 VS 2008 asp.net webforms 应用程序,其中包含一个现有的 RDLC(客户端文件,而不是 RDL 服务器端文件)。

问题是在导出到 excel 时,所有工作表都没有正确命名,即 Sheet1、Sheet2 等。我在 RDL 的 SQL Server 2008 R2 功能上找到了很多导出数据的示例,但是我需要RDLC解决方案?

有谁知道如何“修复”此问题或进行某种后处理以重命名选项卡,以便客户最终不会看到 Sheet1、Sheet2、Sheet3 等?

  1. 应用程序正在选择 RDLC 文件的路径
  2. 添加数据源
  3. 选择 xls
  4. 是否所有响应

我看到这个 Stackoverflow 链接 How to get named excel sheet while exporting from SSRS,但是:

  1. 不能做宏
  2. 无法导出为 SSML
  3. 没有使用 RDL / SQL Server 2008 R2 SSRS,因此其他答案对使用 RDLC 的人具有误导性
4

3 回答 3

1

RDLC 报告版本不支持工作表重命名。我猜你不能升级。所以这里有一个解决方法:将报告正常保存到文件中。然后使用 Microsoft.Office.Interop.Excel 或任何其他 Excel 库再次打开它以重命名工作表。一旦你这样做保存,你就完成了。

using Excel = Microsoft.Office.Interop.Excel; 


Excel.ApplicationClass xl=new Excel.ApplicationClass();
    Excel.Workbook xlBook;
    Excel.Worksheet xlSheet;
    string filePath = Server.MapPath(@"\report.xls");
    xlBook = (Workbook)xl.Workbooks.Open(filePath,Type.Missing,
      Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing
     ,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
    xlSheet = (Worksheet)xlBook.Worksheets.get_Item(1);
    xlSheet.Name = "New Sheet Name";
    xlBook.Save();
    xl.Application.Workbooks.Close();

如果此库不适合您,您可以使用的不同库列表: 免费库 1. 关闭 XML 库 - http://closedxml.codeplex.com/documentation 2. 打开 XML SDK - http://msdn.microsoft .com/en-us/library/bb448854.aspx 3. NOPI - http://npoi.codeplex.com/ 4. CarlosAG - http://www.carlosag.net/Tools/ExcelXmlWriter/

付费图书馆 5. 电子表格工具 6. Smart XLS 7. Office Writer 8. Spire

于 2013-01-31T16:06:22.730 回答
0

我将升级到 RDL 2010 架构 - 它支持 Excel 命名表(以及其他有用的增强功能):

http://msdn.microsoft.com/en-us/library/ee960138.aspx

于 2013-01-31T11:43:10.107 回答