したいのでアクセスの価値観から"というシリーズです。価値(Excel)
-
05-07-2019 - |
質問
を使用してい Microsoft.Office.Interop.Excel
名前空間は、私の作成ます。ある時、取り込んで価値のあるシリーズです。月 MSDN というのは、 Series
オブジェクトプロパティを持って Values
.このいずれかを返します Range
オブジェクト array of values
, い、 object[]
.私のコードして以下の声明を発表した。
Series series = (Series)chart.SeriesCollection(i);
object[] values = (object[])series.Values;
を取得します InvalidCastException
メッセージ:Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
私はデバッグは、Visual Studio2008年までの検査の種類 series.Values
とう object{object[1..7]}
.この手段として理解しているのでとして宣言された object
その実際のタイプ object[1..7]
.が object[1..7]
れていない種ではキャストに関する情報は見つかりませんでし object[*]
.
疑い(たい)といい、この配列の開始1の代わりに0(かVB)し、さらな定義ができる1基配列クライアントまで、フルのc#...
解決
も厳しいかという見方もあるかもしれないが変なクライアントまで、フルのC#をゼロ以外の指数に基づくアレですが可能で御座います:
var array = Array.CreateInstance(
typeof(object),
new int[] { 7 },
new int[] { 1 });
だと思う対応することができるでしょうキャスト配列、ページ番号を加えて、圧縮:
foreach (object item in (Array)series.Values)
{
}
あおもしろい 第 を説明する佐賀周辺のこの種類の配列CLR.
他のヒント
実際になぜものの定義の配列を作成する前にします。しておりますので、結果から.値物件です。
この作---
Series series = (Series)chart.SeriesCollection[i];
object[,] values = (object[,])series.Values;
Darinれが正しいというものがなく1に基づくものでもない通常の2次元配列になります。範囲やその他のExcel物を使用1に基づくギザギザ"(これは、正しい説明)でない配列から任意の範囲のオブジェクトが、必ずしもcontigiously揃えております。
を配列クラスとしてDarinの提案まで受け入れる形式のオブジェクト配列になります。そうす用例の場合だけを列挙します。
この問題のWindowsアプリケーションに対すのVSTOモデルです。
foreach (object item in series.Values as Array)
う場合にVSTO.