【问题标题】:Export right-to-left from RadGridView从 RadGridView 从右到左导出
【发布时间】:2013-09-24 11:41:16
【问题描述】:

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

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

此图来自导出结果:

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

【问题讨论】:

  • 不,Export 没有意义
  • 也许可以,但我更喜欢动态地将 Excel 工作表方向更改为从右到左,因为当我手动执行此操作时,它会正确显示列!
  • 这张图片来自导出结果!ExportResult。这是我手动更改纸张方向的时候!ExportResultAfterSheetDirection.

标签: excel silverlight export right-to-left radgridview


【解决方案1】:

通过在导出函数的输出的标题部分添加一些样式,并且对于从右到左对齐选项,它被插入到声明的 <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

【讨论】:

  • 感谢您的回复,但是因为我使用的是telerik RadGridView,所以我使用它的导出功能,我不知道如何为其设置这些样式!
【解决方案2】:

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

从这里开始:

排序ABC列:行/按行1排序;按值排序;按从大到小排序:

然后点击从右到左的图标得到:

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

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

【讨论】:

  • 导出网格时能否使用应用程序中的 Excel 宏?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2022-01-13
  • 1970-01-01
相关资源
最近更新 更多