簡體   English   中英

如何在ExcelInterop中查找第一個和最后一個單元格以及在C#中查找圖形范圍

[英]How to find first and last cell in ExcelInterop and graph range in C#

嘗試在Excel中繪制一個簡單的csv文件:

1,2,3
4,5,6
7,8,9

如何以編程方式確定繪圖范圍為A1:C3?

我努力了

            var lastCell = worksheet.Cells.get_End(XlDirection.xlUp);

確定最后一列,但似乎不起作用。

以下是我用來繪制文件圖形的代碼,我只需要確定范圍即可。

using Microsoft.Office.InteropServices.Excel;



        Application application = new Application();
        Workbook workbook = application.Workbooks.Open(fileName);
        var worksheet = workbook.Worksheets[1] as
            Microsoft.Office.Interop.Excel.Worksheet;


                   // Add chart.
        var charts = worksheet.ChartObjects() as
            Microsoft.Office.Interop.Excel.ChartObjects;
        var chartObject = charts.Add(60, 10, 300, 300) as
            Microsoft.Office.Interop.Excel.ChartObject;
        var chart = chartObject.Chart;

        // Set chart range.
        var range = worksheet.get_Range( ); //  ????????
        chart.SetSourceData(range);

        // Set chart properties.
        chart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
        chart.ChartWizard(Source: range,
            Title: graphTitle,
            CategoryTitle: xAxis,
            ValueTitle: yAxis);


        // Save.
        workbook.Save();
        workbook.Close();

您可以嘗試通過以下方式獲取范圍:

var range = worksheet.get_Range("A1", System.Type.Missing).CurrentRegion;

它獲得從單元格A1開始的范圍,直到最后一個使范圍連續的區域的單元格為止。 我認為這是處理CSV文件時的最佳選擇。

根據MSDN(VBA)

(CurrentRegion)返回代表當前區域的Range對象。 當前區域是由空白行和空白列的任意組合限制的范圍。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM