如何在 ExcelInterop 中查找第一个和最后一个单元格以及 C# 中的图形范围

2024-02-20

尝试在 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(使用前将#替换为@)

如何在 ExcelInterop 中查找第一个和最后一个单元格以及 C# 中的图形范围 的相关文章

随机推荐

  • 应用程序强制退出并重新启动后如何恢复 NSURLSession 下载过程?

    我已经实施了NSURLSession用于从我们的服务器下载相当大的文件 现在 只要我在前台或后台工作并返回应用程序 交易就会正常工作并完成 但如果我强制退出使用多任务屏幕的应用程序 然后再次重新打开应用程序 下载过程尚未完成 尽管据我从文档
  • Twitter Bootstrap 响应式导航栏在小屏幕上损坏

    我一直在阅读文档并将我的代码与 Bootstrap 的示例进行比较 但我无法弄清楚为什么当我缩小浏览器窗口或在手机上查看它时 我网站上的导航栏会下降约 100px http warm ocean 8133 herokuapp com htt
  • 将负颜色数转换为 HEX 或 RGB

    我从未见过像这样的颜色代码 1 16777216 256等等 所以我当前的问题是这样的 我们有一个第三方软件 您可以在其中对值进行颜色编码 如下图所示 现在我正在创建一个显示这些值的 PHP 报告 但我还想使用与软件中定义的颜色相同的颜色来
  • 如何理解卡方列联表

    我有几个分类特征 Gender Married Dependents Education Self Employed Property Area from scipy stats import chi2 contingency chi2 p
  • android DatePickerDialog只显示一个按钮

    我知道有很多问题DatePickerDialog正如这篇文章所解释的Jelly Bean DatePickerDialog 有办法取消吗 https stackoverflow com questions 11444238 jelly be
  • socket.io - 数百个请求而不是一个连接

    我创建了一个简单的应用程序来从socket io开始 但是当我运行它时 Chrome 在其他浏览器中测试 结果相同 占用了我所有的CPU并发出许多请求 我是套接字新手 但我确信这不是它应该如何工作的 在浏览器中运行的代码非常简单 它应该连接
  • MySQL 中的累计计数(*)

    想象一个 SQL 表votes 有两列vote and time vote是一个字符串 time是一个时间戳 我想从表中检索 累积计数 所以 表格看起来像这样 vote time stuart 1443000000 stuart 14430
  • 如何在 PHP 中运行 bind_param() 语句?

    我正在尝试使以下代码正常工作 但无法访问execute line mysqli this gt ConnectLowPrivileges echo Connected br stmt mysqli gt prepare SELECT nam
  • 调试引用 IIS 中运行的 Sqlite 的 ASP.NET Core 应用程序时访问被拒绝

    ASP NET Core 2 2 项目参考Microsoft EntityFrameworkCore Sqlite 2 2 3 as a PackageReference 由于用户进程提升 在 IIS Express 中调试应用程序效果很好
  • 如何运行由“lein jar”命令制作的jar?

    这是后续这个问题 https stackoverflow com questions 3390268 how to setup the classpath when running the jar made from lein uberja
  • 如何获取和设置WPF文本框的当前光标位置

    我想从 WPF TextBox 获取当前光标位置 如果一个TextBox包含文本abhishek并且光标在之后闪烁abhi然后我想要那个索引 以便稍后清除后TextBox以编程方式分配一些其他或相同的文本以编程方式我想让光标在 4 个字符后
  • 金字塔:多个资源工厂——如何

    我有一个简单的根资源工厂 class Root acl Allow Authenticated edit 现在对于一些 特殊 路线 我需要创建另一个资源工厂 config add route special special test fac
  • 如何在Gitlab-ci中登录docker账户

    我已经订阅了 Pro 计划docker https www docker com pricing帐户到提高速率限制 https www docker com increase rate limit在我自己托管的 Gitlab CI 工作中
  • 类“PreferredSizeWidget”不能用作 mixin,因为它既不是 mixin 类也不是 mixin

    升级到 Flutter 3 10 和 Dart 3 后 我收到此错误 类 PreferredSizeWidget 不能用作 mixin 因为它是 既不是 mixin 类 也不是 mixin 当前版本的代码 class MyAppBar ex
  • 自动生成层次结构值

    我有一个带列的树表ID ParentID and Hierarchy并想要生成Hierarchy列值取决于ParentID 为此 我使用触发器 是否存在更好的方法来生成层次结构列值 ALTER TRIGGER TR MyTable Befo
  • 使用 Paramiko 保留时间戳

    使用 Paramiko 将 SFTP 文件从一台服务器传输到另一台服务器时 是否有一种方法可以保留时间戳 类似于 pLinux 中的争论 原始文件 jim vm3634 ls la rwxrwx 1 jim admin 2214 Mar 3
  • 如何列出检查点中的某些变量?

    我正在使用自动编码器 我的检查点包含网络的完整状态 即编码器 解码器 优化器等 我想玩弄编码 因此 在我的评估模式中 我只需要网络的解码器部分 如何从现有检查点中仅读取一些特定变量 以便我可以在另一个模型中重用它们的值 There s li
  • 计算 sqlalchemy 模型中的相关项数

    我正在尝试计算各自类别中的项目数量 并最终得到一个可以在 jinja 模板中迭代的集合 我的最终输出是这样的 类别1 5 类别2 10 类别3 0 零物品案例很重要 我的模型是 class Category Base tablename c
  • 是否可以从 VS Code 内的 Android 或 iOS 模拟器查看 SQLite 数据库?

    我正在 Flutter 中编写一个跨平台移动应用程序 但遇到了 SQLite 数据库的错误 为了调试它 我真的希望能够查看数据库中保存的内容 由于这是移动开发 因此数据库文件保存在模拟器内 以及我的 Android 手机内 是否可以从模拟器
  • 如何在 ExcelInterop 中查找第一个和最后一个单元格以及 C# 中的图形范围

    尝试在 Excel 中绘制一个简单的 csv 文件 1 2 3 4 5 6 7 8 9 如何以编程方式确定绘图范围为 A1 C3 我努力了 var lastCell worksheet Cells get End XlDirection x