0

我有一个 Silverlight 应用程序,它有一个从右到左的 RadGridView。当我导出网格时,结果是从左到右的表格。我希望导出的表格是从右到左的格式(例如,在 Excel 中,表格是从右到左的方向)

不从 OP 编辑​​以转移评论中提供的说明

这张图片来自导出结果:

!导出结果。

这是当我手动更改纸张方向时:

!ExportResultAfterSheetDirection。

4

2 回答 2

3

通过在导出函数的输出的标题部分添加一些样式,并且对于从右到左对齐选项,它被插入到<WorksheetOptions>调用的声明级别<x:DisplayRightToLeft/>

例如,如果您在项目中使用 C#:

private string AddExcelStyling()
{

    StringBuilder sb = new StringBuilder();

    sb.Append("<html xmlns:o='urn:schemas-microsoft-com:office:office'\n" +

    "xmlns:x='urn:schemas-microsoft-com:office:excel'\n" +

    "xmlns='http://www.w3.org/TR/REC-html40'>\n" +

    "<head>\n");

    sb.Append("<style>\n");

    sb.Append("@page");

    sb.Append("mso-page-orientation:landscape;}\n");

    sb.Append("</style>\n");

    sb.Append("<!--[if gte mso 9]><xml>\n");

    sb.Append("<x:ExcelWorkbook>\n");

    sb.Append("<x:ExcelWorksheets>\n");

    sb.Append("<x:ExcelWorksheet>\n");

    sb.Append("<x:Name>Sheet Name</x:Name>\n");

    sb.Append("<x:WorksheetOptions>\n");

    sb.Append("<x:Print>\n");

    sb.Append("<x:HorizontalResolution>600</x:HorizontalResolution\n");

    sb.Append("<x:VerticalResolution>600</x:VerticalResolution\n");

    sb.Append("</x:Print>\n");

    sb.Append("<x:Selected/>\n");

    sb.Append("<x:DisplayRightToLeft/>\n");

    sb.Append("<x:DoNotDisplayGridlines/>\n");

    sb.Append("</x:WorksheetOptions>\n");

    sb.Append("</x:ExcelWorksheet>\n");

    sb.Append("</x:ExcelWorksheets>\n");

    sb.Append("</x:ExcelWorkbook>\n");

    sb.Append("</xml><![endif]-->\n");

    sb.Append("</head>\n");

    sb.Append("<body>\n");

    return sb.ToString();

}

请参阅此链接:http ://forums.asp.net/p/1445619/3358464.aspx

于 2013-11-01T18:12:02.660 回答
1

我仍然几乎不知道需要什么,但这里有一些可能性:

从此开始:

SO18980638 第一个例子

对 ABC 列进行排序:行/按第 1 行排序;按值排序;从大到小排序以获得:

SO18980638 第二个例子

然后单击从右到左的图标以获取:

SO18980638 第三个例子

并再次排序(相同的选择)得到这个:

SO18980638第四个例子

达到预期结果时停止。
删除第 1 行。
对于代码版本,单击 Record Macro 并根据需要重复上述步骤。
停止录制。

于 2013-10-03T01:06:05.940 回答