【发布时间】:2014-02-23 08:45:24
【问题描述】:
我正在尝试使用 Visual Studio(Windows 窗体应用程序)提供的 reportviewer 创建基于 excel 电子表格的报告。但是,我正在努力寻找读取/访问电子表格的正确方法。
当我尝试创建新报告时,出现以下窗口:
我尝试使用对象选项,但没有任何运气
问题:如何使用 Excel 电子表格创建报告?
下面的代码让我能够处理文件,但我找不到将其绑定到报告查看器的方法:
Excel.Application ExcelObj = new Excel.Application();
this.openFileDialog1.FileName = "*.xls";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
Excel.Workbook theWorkbook = ExcelObj.Workbooks.Open(
openFileDialog1.FileName, 0, true, 5,
"", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
0, true);
Excel.Sheets sheets = theWorkbook.Worksheets;
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
for (int i = 1; i <= 10; i++)
{
Excel.Range range = worksheet.get_Range("A" + i.ToString(), "J" + i.ToString());
System.Array myvalues = (System.Array)range.Cells.Value;
string[] strArray = ConvertToStringArray(myvalues);
}
}
欢迎任何建议/指导
【问题讨论】:
-
Excel 表格是来自外部来源,还是您使用您的应用程序创建的?
-
@DTs 需要使用外部源、文件选择器或类似的东西
-
好的,所以我认为关系 Excel 工作表 -> 报告是不可能的。你需要做的肯定是用excel数据填充一个DataTable,然后使用这个DataTable作为报表的数据源。所以,你的问题归结为两点:1)从excel中填写DataTable(这与报表无关),2)使用DataTable作为报表数据源。
标签: c# excel visual-studio datasource reportviewer