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";

编辑

这是您格式化单元格范围然后将图表轴格式链接到此范围的另一种方法:

使用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 回答