如何在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
最满意答案
如果数字长度为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.
相关问答
更多-
只需编写评论中提供的答案代码即可: OngoingStubbing stubbing = when(/* some method call*/); for (int i = 0; ...) { subbing.thenReturn(mockFetchReturn(i)); } 或者,您可以传递一个列表 List
answers = Arrays.asList(mockFetchReturn, mockFetchReturn, ...); when(/* some method cal ... -
没有理由拥有两个嵌套循环,并且您不需要index和searching变量。 你只需要一个for循环。 如果找到匹配的Product ,则将其退回。 如果不是,则在循环结束时返回null 。 public Product findProduct(int id) { for (Product item : stock) { if (item.getID() == id) { return item; } } return ...
-
正如@dlev所说,如果您希望您的应用程序在处理监视事件的同时处理其他事情,那么执行此操作的方法是在单独的线程中。 这会给您带来“返回”信息的问题。 (我认为只是将信息打印到标准输出对您没有任何用处。) 正如你所观察到的,你不能使用return因为这会终止循环。 基本的答案是你需要将信息放在某个地方,以便其他应用程序可以访问。 例如: 你可以创建一个队列对象(例如一个ConcurrentLinkedQueue ),让你的观察者排队数据,并让其他线程将它出队并处理它。 您可以让观察器自己处理事件有效载荷,并将 ...
-
它要求您在未执行循环时(即customers为空)从方法中提供有效结果。 你必须这样做: for (CustomerDetails nextCustomer : customers){ if (givenID == nextCustomer.getCustomerID()){ return nextCustomer; } } throw new CustomerNotFoundException(); 因为否则你会在不满足if提供的条件的第一个元素之后抛出异常。 It as ...
-
你声明x为30, if(x<20)总是为false,if循环会执行,所以它执行else语句而不通过if语句。 您必须声明x小于20的值或更改if语句。 You declared x as 30, the if loop executes if(x<20) which is always false, so its performing the else statement immediately without going thru the if statement. You either have to ...
-
你必须使用return false来破坏.each循环。 您可以使用外部变量来指定所选值。 像这样的东西可能会成功 function someFun(that,filterID,columnSelctedID) { var col; // this is used to hold selected column $.each(that.filters,function(i,filter) { if(filter.id==filterID) { $.ea ...
-
return语句如何在以下java方法中工作?(How is the return statement working in the following java method?)[2022-09-24]
当然; 再次调用该方法。 更有效,更有效,特别是Object ,使得o.equals(getNodeAt(i).data为false 。事实是... “[任何方式]”是一个相当宽松的约束; 你说... 在if语句在for循环中返回true之后 ,可以通过以下方法中的任何方式使print语句获得[s]吗? 我说是的,当手段召回方法时,这是可能的。 事实上,只要你使用任何容器,它就永远是真的。 证明: 假设以下方法中的任何方法都不可能在if语句在for循环中返回true之后执行第二个return语句。 stat ... -
JAVA:if语句在for循环内并退出for循环(JAVA: if statement inside a for loop and exiting from a for loop)[2022-10-02]
您可以考虑使用do while循环方法。 这将允许您的代码自然运行一次,并在用户输入0退出: int ageValue = 0, numOfAges = 0, sumOfAges = 0; do { System.out.println("Enter age"); ageValue = sc.nextInt(); if (ageValue < 0 || ageValue > 120) System.out.println("Bad value... try again ... -
在Java中使用for循环时如何实现return语句?(How to implement a return statement when using a for loop in Java?)[2023-12-13]
你几乎可以在任何地方放置一个return语句。 要回答你的问题,你可以在内部for循环之后返回一个返回,如下所示: public T remove(T elt) { for (int i=0; i((Java)if if后面的return语句if / else循环?(((Java) Return statement after if/else if/else loop?)[2023-09-15]
如果数字长度为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] < ...相关文章
更多- [转] C#开源项目大全
- 这种的EXCEL表格 怎么来解析??
- JXLS根据excel模板生成EXCEL并下载
- java+jsp来获取excel的数据?
- 用C#捕捉键盘和鼠标
- Becoming a data scientist
- C#微信公众平台开发者模式开启代码
- 基于C#的UDP协议的同步实现
- 【转】C# 中@符号在字符串中的作用
- POI 操作Excel公式
最新问答
更多- 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)