首页 \ 问答 \ 如何在C#中获取图表的Excel XValue(How to get Excel XValue of a Chart in C#)

如何在C#中获取图表的Excel XValue(How to get Excel XValue of a Chart in C#)

我正在编写一些代码来使用C#操作excle文件中的图表。 其中一个关键要求是获取Chart SeriesCollection的XValue属性。 我试图通过索引访问它,但它不起作用,虽然我可以在Visual Studio的Watch窗口中看到值列表。 从Watch窗口,我注意到s.XValue的类型是动态{object []} ,我之前从未见过它,而obj.ToString()是System.Object [*] 。 问题是如果XValue不支持索引,我如何从XValue属性中获取每个值。


顺便说一句,在互联网上搜索,我只能找到将excel单元格范围设置为XValue的方法,但是没有找到如何获得XValue。 如果有人可以提供建议,我真的很感激。

Excel._Worksheet worksheet = (Excel._Worksheet)book.Worksheets[a];
Excel.ChartObject chartObj = (Excel.ChartObject)worksheet.ChartObjects(1);
if (chartObj != null)
{
   Excel.Chart chart = (Excel.Chart)chartObj.Chart;
   var s = (Excel.Series)chart.SeriesCollection(1);
   object obj = s.XValues;
   //How to get s.XValues[1], s.XValues[2], s.XValues[3]...
}

I am writing some codes to manipulate a chart in excle file using C#. One of the key requirements is to get XValue property of a Chart SeriesCollection. I tried to visit it by index, however it doesn't work, although I can see the value list in Watch window in Visual Studio. From the Watch window, I noticed the type of s.XValue is dynamic{object[]} which I never met before, and obj.ToString() is System.Object[*]. The question is how I can get each value from XValue property if XValue DON'T support index.


By the way, searching on the Internet, I can only find ways to set excel cell range to XValue, but didn't find how to get the XValue. I really appreciate if anyone can advise.

Excel._Worksheet worksheet = (Excel._Worksheet)book.Worksheets[a];
Excel.ChartObject chartObj = (Excel.ChartObject)worksheet.ChartObjects(1);
if (chartObj != null)
{
   Excel.Chart chart = (Excel.Chart)chartObj.Chart;
   var s = (Excel.Series)chart.SeriesCollection(1);
   object obj = s.XValues;
   //How to get s.XValues[1], s.XValues[2], s.XValues[3]...
}

原文:https://stackoverflow.com/questions/27486962
更新时间:2022-05-24 16:05

最满意答案

如果数字长度为0,则应在循环外添加一个return语句,因此它永远不会进入for函数。

private static String HighOrLow (int[] numbers){
 for (int i = 0; i < numbers.length; i++) {
    if (numbers[i] > average) {
         return (numbers[i] + "is above the average");
    }
    else if (numbers[i] < average) {
         return (numbers[i] + " is below the average");
    }
    else   {
         return (numbers[i] + " is equal to the average");
   }
  }
  return "No numbers founds";
}

同样按照惯例,方法应该以小写的第一个字母开头:

方法应该是动词,在第一个字母小写的大小写混合的情况下,每个内部单词的首字母大写。


You should add a return statement outside the loop in case numbers length is 0, so it will never enter inside your for function.

private static String HighOrLow (int[] numbers){
 for (int i = 0; i < numbers.length; i++) {
    if (numbers[i] > average) {
         return (numbers[i] + "is above the average");
    }
    else if (numbers[i] < average) {
         return (numbers[i] + " is below the average");
    }
    else   {
         return (numbers[i] + " is equal to the average");
   }
  }
  return "No numbers founds";
}

Also by convention methods should start with the first letter lowercase:

Methods should be verbs, in mixed case with the first letter lowercase, with the first letter of each internal word capitalized.

相关问答

更多

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)