[英]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.