Spreadsheetgear图表x轴日期显示为整数

时间:2013-08-26 08:13:36

标签: c# spreadsheetgear

我使用电子表格齿轮生成输出,其中包含图表作为输出,其XAxis具有日期,y轴具有绘制图表的数字。最后,应用程序会将源工作簿表复制到新工作簿的电子表格中。执行此操作时,图表的XAxis中的日期值不会在我复制的工作表中显示为日期(MM / dd / yy)(即在新工作簿的工作表中),而是将其作为某个数字(例如39174,39175,39176。这可能是朱利安约会吗?)。即使我将Date列格式化为Date格式(MM / dd / yy),但它仍未在图中引用日期。我通过右键单击一个单元格(在Date列中)并选择'format cells'选项来交叉检查这个。它显示它已使用自定义格式(如mm / dd / yy)。此外,我已编码更新链接,同时将其复制到新工作表,但它仍然无法正常工作。

请告知解决此问题。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用ITickLabels界面设置图表标签的格式,也可以将轴的属性设置为Linked to source,然后设置作为数据源的范围的格式:

以下是set chart formatting

的示例

以下是properties of ITickLabels

的详细信息

这是设置标签格式

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

修改

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

使用SpreadsheetGear basic chart example作为模板:

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