【发布时间】:2012-08-23 17:37:29
【问题描述】:
我想从动态生成的单元格引用列表中创建一个 Excel.Range 对象。
Excel.Range outputRange = sheet.get_Range(strCellRange, Type.Missing);
由于 strCellRange 可以变得相当大,它会给出 com 异常。 因此,我想将其简化为带有联合的范围表示法。
例如
string strCellRange = "F2,G2,H2,I2,J2,K2,L2,F7,G7,H7,I7,J7,K7,L7,F12,G12,H12,I12,J12,K12,L12,F17,G17,H17,I17,J17,K17,L17,F22,G22,H22,I22,J22,K22,L22,F27,G27,H27,I27,J27,K27,L27";
到
string strCellRange = "F2:L2,F7:L7,F12:L12,F17:L17,F22:L22,F27:L27";
- 是否有任何 Excel 方法可以创建具有大量单元格引用的 Range 对象?
- 是否有已知的算法来实现上述简化(矩阵算法)?
【问题讨论】:
-
在 Excel VBA 中,您将使用
Union来完成 1&2。我不知道您如何 - 或者是否 - 您可以通过C#实现这一目标 -
@brettdj:是的,我可以使用 application.Union(
, )。但是我原始字符串中的 AFAIK 逗号“,”也是联合运算符。 -
更多信息: 方法 sheet.get_Range(
, Type.Missing);方法只接受一个最大长度为 255 的字符串作为它的第一个参数。 255 个字符包括所有空格、逗号 $ 符号等。