dev gridcontrol导出几种格式

18 篇文章 0 订阅
13 篇文章 0 订阅

1、初始化导出格式下来框,目前提供的有html,pdf,excel txt 等各种方式。

初始化函数如下:

 void InitExportData() {
            for(int i = 0; i < exportData.GetLength(0); i++)  
                cbExport.Properties.Items.Add(exportData.GetValue(i, 0));
            cbExport.SelectedIndex = 0;
        }

cbexport 为对应combox下拉框控件。

加黑的exportData为几种格式。

2.初始化下拉框内容:

     string[,] exportData = new string[,] {{"HTML Document", "HTML Documents|*.html", "htm"}, 
            {"Microsoft Excel 2007 Document", "Microsoft Excel|*.xlsx", "xlsx"}, 
            {"Microsoft Excel Document", "Microsoft Excel|*.xls", "xls"}, 
            {"RTF Document", "RTF Files|*.rtf", "rtf"},
            {"PDF Document", "PDF Files|*.pdf", "pdf"},
            {"MHT Document", "MHT Files|*.mht", "mht"},
            {"Text Document", "Text Files|*.txt", "txt"}};

3、导出按钮如下:

int index = cbExport.SelectedIndex;
            if(index < 0) return;
            string fileName = ShowSaveFileDialog(exportData.GetValue(index, 0).ToString(), exportData.GetValue(index, 1).ToString());
            if(fileName == string.Empty) return;
            ExportToEx(fileName, exportData.GetValue(index, 2).ToString(), gridView1);
            OpenFile(fileName);

4、其中调用的函数如下:

      private string ShowSaveFileDialog(string title, string filter) {
            SaveFileDialog dlg = new SaveFileDialog();
            string name = Application.ProductName;
            int n = name.LastIndexOf(".") + 1;
            if(n > 0) name = name.Substring(n, name.Length - n);
            dlg.Title = "Export To " + title;
            dlg.FileName = name;
            dlg.Filter = filter;
            if(dlg.ShowDialog() == DialogResult.OK) return dlg.FileName;
            return "";
        }

       private void ExportToEx(String filename, string ext, BaseView exportView) {
            Cursor currentCursor = Cursor.Current;
            Cursor.Current = Cursors.WaitCursor;
            if(ext == "rtf") exportView.ExportToRtf(filename);
            if(ext == "pdf") exportView.ExportToPdf(filename);
            if(ext == "mht") exportView.ExportToMht(filename);
            if(ext == "htm") exportView.ExportToHtml(filename);
            if(ext == "txt") exportView.ExportToText(filename);
            if(ext == "xls") exportView.ExportToXls(filename);
            if(ext == "xlsx") exportView.ExportToXlsx(filename);
            Cursor.Current = currentCursor;
        }

5、导出文件后,提示是否打开当前导出的文件函数

        private void OpenFile(string fileName) {
            if(XtraMessageBox.Show("是否打开?", "信息提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) {
                try {
                    System.Diagnostics.Process process = new System.Diagnostics.Process();
                    process.StartInfo.FileName = fileName;
                    process.StartInfo.Verb = "Open";
                    process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
                    process.Start();
                }
                catch {
                   
                }
            }
            
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用以下代码示例将多个表导出到多个工作表,并自定义每个工作表的名称: ```csharp using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraSpreadsheet; using DevExpress.XtraSpreadsheet.Export; using System.IO; // 创建一个 SpreadsheetControl 实例 SpreadsheetControl spreadsheetControl = new SpreadsheetControl(); // 加载 Excel 文件 spreadsheetControl.LoadDocument("path_to_excel_file"); // 创建一个导出器实例 GridControlExporter exporter = new GridControlExporter(); // 设置导出选项 exporter.OptionsPrint.PrintDetails = true; // 导出细节视图 exporter.OptionsPrint.PrintSelectedRowsOnly = false; // 导出所有行 exporter.OptionsPrint.PrintGroupFooters = DevExpress.Utils.DefaultBoolean.False; // 不打印分组页脚 // 遍历每个 GridControl 及其对应的 GridView foreach (var gridControl in gridControls) { GridView gridView = gridControl.MainView as GridView; string sheetName = "CustomSheetName"; // 自定义的工作表名称 // 创建一个新的工作表 Worksheet worksheet = spreadsheetControl.Document.Worksheets.Add(); worksheet.Name = sheetName; // 将 GridControl 导出到工作表 exporter.Export(gridView, worksheet, null, null); } // 保存导出的 Excel 文件 using (MemoryStream stream = new MemoryStream()) { spreadsheetControl.SaveDocument(stream, DocumentFormat.Xlsx); File.WriteAllBytes("path_to_exported_excel_file", stream.ToArray()); } ``` 请注意,上述代码中的 `gridControls` 是一个包含要导出GridControl 的集合。您可以根据您的实际情况进行调整和修改。 希望这可以帮助到您!如有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值