尝试在 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) http://msdn.microsoft.com/en-us/library/ff196678%28v=office.14%29.aspx:
(当前地区)返回表示当前区域的 Range 对象。目前的
区域是由空白行和空白的任意组合界定的范围
列。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)