我使用电子表格齿轮生成输出,其中包含图表作为输出,其XAxis具有日期,y轴具有绘制图表的数字。最后,应用程序会将源工作簿表复制到新工作簿的电子表格中。执行此操作时,图表的XAxis中的日期值不会在我复制的工作表中显示为日期(MM / dd / yy)(即在新工作簿的工作表中),而是将其作为某个数字(例如39174,39175,39176。这可能是朱利安约会吗?)。即使我将Date列格式化为Date格式(MM / dd / yy),但它仍未在图中引用日期。我通过右键单击一个单元格(在Date列中)并选择'format cells'选项来交叉检查这个。它显示它已使用自定义格式(如mm / dd / yy)。此外,我已编码更新链接,同时将其复制到新工作表,但它仍然无法正常工作。
请告知解决此问题。
由于
答案 0 :(得分:1)
您可以使用ITickLabels界面设置图表标签的格式,也可以将轴的属性设置为Linked to source,然后设置作为数据源的范围的格式:
的示例 的详细信息这是设置标签格式
的示例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";