2016-10-07 4 views
1

ASPxGridViewExporterを使用して複数行のテキストを含む列でASPxGridViewを書き出すことは可能ですか?ASPxGridViewを複数行のテキストでExcelにエクスポート

複数行のテキストを含む列のASPxGridViewがあります。 ASPxGridViewExporterを使用してグリッドのデータをエクスポートすると、複数行のテキストが1行(改行なし)としてレンダリングされます。

私は< br/>と "\ n"(改行)の両方をライン区切りとして試してみました。

プロパティのbtw値PropertiesTextEdit-EncodeHtmlは、その列ではfalseです。

おかげ

答えて

1

あなたが探しているものを達成するための2通りの方法があります。

  1. はXlsxExportOptionsExにWYSIWYGのエクスポートタイプを指定します。

    XlsxExportOptionsEx options = new XlsxExportOptionsEx() 
    { 
        ExportType = DevExpress.Export.ExportType.WYSIWYG 
    }; 
    ASPxGridView1.ExportToXlsx("Test.xlsx", options); 
    
  2. は、あなたがしたい輸出国に知らせますデータを認識して、セルの折り返しをtrueに設定するCustomizeCellイベントを処理します。

    XlsxExportOptionsEx options = new XlsxExportOptionsEx() 
    { 
        ExportType = DevExpress.Export.ExportType.DataAware 
    }; 
    
    options.CustomizeCell += options_CustomizeCell; 
    
    void options_CustomizeCell(DevExpress.Export.CustomizeCellEventArgs e) 
    { 
        e.Formatting.Alignment = new XlCellAlignment() { WrapText = true }; 
        e.Handled = true;  
    } 
    

    次に、カスタマイズされたオプションオブジェクトをエクスポートに使用します。

参照:https://www.devexpress.com/Support/Center/Question/Details/T381176

は時々役に立つかもしれRenderBrickイベントもあります。あなたは好きで、それを処理することができる:

gveExporter.RenderBrick += gveExporter_RenderBrick; 

void gveExporter_RenderBrick(object sender, DevExpress.Web.ASPxGridViewExportRenderingEventArgs e) 
{ 
    ... 
    StringFormat sFormat = new StringFormat(StringFormatFlags.NoWrap); 
    BrickStringFormat brickSFormat = new BrickStringFormat(sFormat); 
    e.BrickStyle.StringFormat = brickSFormat; 
    ... 
} 

しかし、私はStringFormatFlagsは、適切な項目の中だけNOWRAP持っているので、実際に、そこ細胞ラップを強制する方法を発見していません。私の経験では、エクスポートされたExcelドキュメントに長いテキストをセルラップしていたので、RenderBrickを使用してそのラッピングを解除しました。

希望に役立ちます。

+0

私のために働きます。ありがとう。 – Yuriy

関連する問題