【问题标题】:Automatically obtain the range of an excel sheet自动获取excel表格的范围
【发布时间】:2013-09-19 20:24:19
【问题描述】:

任何人都可以告诉我如何自动获取 Excel 工作表的范围。工作表中的数据每天都在变化,我从数据库中获取这些数据。 然后应该在另一个工作表中的数据透视表中更新这些日期。 这应该使用 c# 代码来完成。


从发布的答案更新:

我的代码如下..

Worksheet pivotWorkSheet = (Worksheet)Workbook.Sheets["Template"];

pivotWorkSheet.Activate();

Worksheet WorkSheet1 = (Worksheet)Workbook.Sheets["Sheet1"];

Microsoft.Office.Interop.Excel.Range xlRange = WorkSheet1.UsedRange;

if (xlRange != null)

{

 int nRows = xlRange.Rows.Count;

 PivotTable pivotMST=   (PivotTable)pivotWorkSheet.PivotTables("PivotTableMagazineSummeryStatus");
                int MSTResultSetRow = nRows;
                pivotMST.SourceData = "Sheet1!R1C1:R" + MSTResultSetRow + "C3";
                pivotMST.RefreshTable();
            }

我的代码如下..

Worksheet pivotWorkSheet = (Worksheet)Workbook.Sheets["Template"];

pivotWorkSheet.Activate();

Worksheet WorkSheet1 = (Worksheet)Workbook.Sheets["Sheet1"];

Microsoft.Office.Interop.Excel.Range xlRange = WorkSheet1.UsedRange;

if (xlRange != null)

{

 int nRows = xlRange.Rows.Count;

 PivotTable pivotMST=   (PivotTable)pivotWorkSheet.PivotTables("PivotTableMagazineSummeryStatus");
                int MSTResultSetRow = nRows;
                pivotMST.SourceData = "Sheet1!R1C1:R" + MSTResultSetRow + "C3";
                pivotMST.RefreshTable();
            }

【问题讨论】:

    标签: c# excel


    【解决方案1】:

    检查Worksheet.UsedRange 属性(MSDN)。

    【讨论】:

    • 感谢 Dev..我只是在尝试,但它选择了错误的行数。
    • 您的数据是否从 1:1 行开始?如果行数不小于最后一行。如果您正在操作工作表 UsedRange 可能会返回比实际使用更大的范围。重新打开工作簿应该可以解决它。
    猜你喜欢
    • 2022-11-24
    • 1970-01-01
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多