我有一个 Silverlight 应用程序,它有一个从右到左的 RadGridView。当我导出网格时,结果是从左到右的表格。我希望导出的表格是从右到左的格式(例如,在 Excel 中,表格是从右到左的方向)
不从 OP 编辑以转移评论中提供的说明
这张图片来自导出结果:
这是当我手动更改纸张方向时:
我有一个 Silverlight 应用程序,它有一个从右到左的 RadGridView。当我导出网格时,结果是从左到右的表格。我希望导出的表格是从右到左的格式(例如,在 Excel 中,表格是从右到左的方向)
不从 OP 编辑以转移评论中提供的说明
这张图片来自导出结果:
这是当我手动更改纸张方向时:
通过在导出函数的输出的标题部分添加一些样式,并且对于从右到左对齐选项,它被插入到<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();
}
我仍然几乎不知道需要什么,但这里有一些可能性:
从此开始:
对 ABC 列进行排序:行/按第 1 行排序;按值排序;从大到小排序以获得:
然后单击从右到左的图标以获取:
并再次排序(相同的选择)得到这个:
达到预期结果时停止。
删除第 1 行。
对于代码版本,单击 Record Macro 并根据需要重复上述步骤。
停止录制。