[英]Given cell address as =Sheet1:A1, how to get the value
我的地址為= Sheet1:A1或= Sheet1:A1:B5(輸入)
它具有一些價值。 如何使用Excel VSTO和C#獲取它
我不確定我是否完全理解,但是通常您不需要在VSTO中使用工作表名稱前綴。 但是,您確實需要對工作表的引用。 有點像這樣:
Excel.Worksheet ws;
//... get a reference to the worksheet
// you can get the value of a single cell into an object variable.
var rangeA1 = ws.get_Range("A1", Type.Missing);
var myValue = rangeA1.Value2;
// you can also pull out the value of a multicell range into a 2D array.
var rangeA1B5 = ws.get_Range("A1", "B5");
var myArrayOfValues = (object[,])rangeA1B5.Value2;
我只是解析字符串:
using System.Text.RegularExpressions;
object _ = Type.Missing;
Excel.Workbook wb = ...; // get reference to workbook
string addr = "=Sheet1!A1:B5";
Match m = Regex.Match(addr, "^\=(?<sheet>[^!]+)!(?<cell>.+)$");
object value = wb.Worksheets[m.Groups["sheet"].Value].get_Range(m.Groups["cell"].Value, _).get_Value(_);
可能會缺少一些演員表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.