このトピックは、セルの値、書式文字列、列幅およびワークシートのオプションを前提として、Microsoft Excel® に表示されるテキストを決定する方法を説明します。WorksheetCell
GetText メソッドを使用してセル テキストを決定できます。
このトピックには次のセクションがあります。
セルに表示されるテキストは、実際のセル値以外にいくつかの要因によって異なります。以下はこれらの要因の概要です。
書式文字列は、セルの値がテキストに変換される方法と、書式設定された値でどのリテラル文字が表示されるのかを決定します。 ここで書式コードに関する詳細情報を見つけることができます。
セルで使用可能な水平領域の量は、値がユーザーに表示される方法に大きく影響します。
さまざまな列幅に基づいて表示されるテキストは異なります。
数字を表示して “General” または “@” を含む書式文字列を使用するとき、セルの幅に合った書式設定を見つけるさまざまな書式があります。
テキストがセルで使用される場合、切り取られる、またはセル内にないにかかわらず、セルに表示されるテキストは常にフル値です。
|コードで、または Microsoft Excel で以下によって Worksheet.DisplayOptions
ShowFormulasInCells プロパティを設定できます: [ファイル] -> [オプション] -> [詳細設定] -> [次のシートで作業するときの表示設定] -> [計算結果の代わりに数式をセルに表示する]。
このオプションがオンのとき、結果の代わりに数式がセルに表示され、書式文字列とセル幅は無視されます。テキスト値は書式文字列が @ であるかのように表示します。整数でない数値は書式文字列が 0.0 であるかのように表示し、整数の数値は書式文字列が 0 のように表示します。
さらに、値が合わない場合、すべてのハッシュとして表示しません。完全に表示できないとしても、表示テキストはセル テキストとしてフル テキストを今まで通り返します。
セル テキストは新しい WorksheetCell
GetText メソッドで公開されます。パラメーターのないオーバーロードは Microsoft Excel UI に表示されるセル テキストを返します。その他のオーバーロードは、 TextFormatMode 列挙値を以下の値と一緒に取得します:
以下の表には、このトピックのコード例が示されています。
WorksheetCell
GetText メソッドの戻り値は、セルに適用される、書式文字列によって異なります。
以下の例のコードはワークブックを読み込んで Worksheet DifferentFormats
のインスタンスを作成します。WorksheetCell
GetText メソッドを使用して、領域 A1:A8 内のセルの表示テキストにアクセスします。
この例の目的のために以下のエンティティが必要です:
DifferentFormats
に設定されたワークシート名
A1 から A8 のセル内の値 1234567890
以下のスクリーンショットに示すように、各セルには異なるセル書式設定があります。
C# の場合:
// Load a Workbook
Infragistics.Documents.Excel.Workbook workBook = Infragistics.Documents.Excel.Workbook.Load(inputStream);
Infragistics.Documents.Excel.Worksheet worksheet = workBook.Worksheets["DifferentFormats"];
StringBuilder sb = new StringBuilder();
// Loop over cells with different formats sets and show the GetText() method return values
for (int i = 0; i < 8; i++)
{
sb.AppendLine(String.Format("{0} \t\t {1}",
worksheet.Rows[i].Cells[1].GetText(),
worksheet.Rows[i].Cells[0].GetText()));
}
System.Diagnostics.Debug.WriteLine(sb.ToString());
列幅によって、WorksheetCell
GetText メソッドの値を返します。
以下の例のコードはワークブックを読み込んで Worksheet DifferentWidths
のインスタンスを作成します。WorksheetCell
GetText メソッドを使用して、領域 A1:E2 内のセルの表示テキストにアクセスします。
この例の目的のために以下のエンティティが必要です:
DifferentWidths
に設定されたワークシート名
A1 から E1 のセル内の値 1234567890
およびセル A2 から E2 の値 0.0001234567890
。列幅は、以下のスクリーンショットに示すように、各列ごとに異なります。
C# の場合:
// Load a Workbook
Infragistics.Documents.Excel.Workbook workBook = Infragistics.Documents.Excel.Workbook.Load(inputStream);
Infragistics.Documents.Excel.Worksheet worksheet = workBook.Worksheets["DifferentWidths"];
StringBuilder sb = new StringBuilder();
// Loop over cells with different width sets and show the GetText() method return values
for (int i = 0; i < 5; i++)
{
sb.AppendLine(String.Format("{0} \t\t {1}",
worksheet.Rows[1].Cells[i].GetText(),
worksheet.Rows[0].Cells[i].GetText()));
}
System.Diagnostics.Debug.WriteLine(sb.ToString());
ShowFormulaInCells ワークシート オプションによって、WorksheetCell
GetText メソッドの値を返します。
以下の例のコードはワークブックを読み込んで Worksheet Formulas
のインスタンスを作成します。次に、Worksheet プロパティ DisplayOptions
ShowFormulaInCells は true
に設定されます。このコードは GetText メソッドを使用して、領域 B1:B5 内のセルの表示テキストにアクセスします。
この例の目的のために以下のエンティティが必要です:
Formulas
に設定されたワークシート名
セル A1:A5 内のランダムな数字
セル B1:B5 内のランダムな数字
C# の場合:
// Load a Workbook
Infragistics.Documents.Excel.Workbook workBook = Infragistics.Documents.Excel.Workbook.Load(inputStream);
Infragistics.Documents.Excel.Worksheet worksheet = workBook.Worksheets["Formulas"];
// Turn On Worksheet options for showing formulas instead of formula results
worksheet.DisplayOptions.ShowFormulasInCells = true;
StringBuilder sb = new StringBuilder();
// Loop over cells with different width sets and show the GetText() method return values
for (int i = 0; i < 5; i++)
{
sb.AppendLine(worksheet.Rows[i].Cells[1].GetText());
}
System.Diagnostics.Debug.WriteLine(sb.ToString());
以下のトピックでは、このトピックに関連する情報を提供しています。
以下の資料 (インフラジスティックス のコンテンツ ファミリー以外でもご利用いただけます) は、このトピックに関連する追加情報を提供します。