簡體   English   中英

給定單元格地址為= Sheet1:A1,如何獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM