1

出力としてチャートを含むスプレッドシート ギアを使用して出力を生成しています。その XAxis には日付があり、Y 軸にはチャートをプロットするための数値があります。最後に、アプリケーションはソース ワークブック シートを新しいワークブックのスプレッドシートにコピーします。これを行っている間、チャートの XAxis の日付値は、コピーしたシート (つまり、新しいワークブックのシート) に日付 (MM/dd/yy) として表示されません。代わりに、何らかの数値として取得しています ( 39174、39175、39176。これはユリウス日でしょうか?)。日付列を日付形式 (MM/dd/yy) にフォーマットしていますが、グラフでは日付として参照されていません。セル(日付列)を右クリックし、「セルのフォーマット」オプションを選択して、これをクロスチェックしました。カスタムフォーマット (mm/dd/yy) が使用されていることを示しています。また、

この問題を解決するためにアドバイスしてください。

ありがとう

4

1 に答える 1

1

ITickLabels インターフェイスを使用してグラフ ラベルの形式を設定するか、軸のプロパティを [ソースにリンク] に設定してから、データ ソースである範囲の形式を設定できます。

グラフの書式設定の例を次に示します。

ITickLabelsのプロパティの詳細は次のとおりです。

ラベルフォーマットの設定例です

chart.Axes[AxisType.Value].TickLabels.NumberFormat = "0.00";

編集

これは、セル範囲をフォーマットしてから、チャート軸フォーマットをこの範囲にリンクするもう 1 つの方法です。

SpreadsheetGear の基本的なグラフの例をテンプレートとして使用する:

// Declare the data range    
SpreadsheetGear.IRange dataRange = worksheet.Cells["A2:A13"];

// Set the data range format
dataRange.NumberFormat = "0.0";

チャートは次のように設定されています

double left = windowInfo.ColumnToPoints(2.0);
double top = windowInfo.RowToPoints(1.0);
double right = windowInfo.ColumnToPoints(9.0);
double bottom = windowInfo.RowToPoints(16.0);
SpreadsheetGear.Charts.IChart chart =
    worksheet.Shapes.AddChart(left, top, right - left, bottom - top).Chart;

// Set the chart's source data range, plotting series in columns.
chart.SetSourceData(dataRange, SpreadsheetGear.Charts.RowCol.Columns);

// Set the chart type.
chart.ChartType = SpreadsheetGear.Charts.ChartType.Area;

// Set the axis label format to the data range
chart.Axes[AxisType.Value].TickLabels.NumberFormatLinked = true;

チャートの軸範囲を明示的に設定するには、最後の行を次のように置き換えます。

chart.Axes[AxisType.Value].TickLabels.NumberFormat = "0.00";
于 2013-08-26T22:37:42.927 に答える