使用DevExpress匯出GridControl控制元件資料到excel檔案
使用DevExpress可以實現將介面的GridControl的內容直接匯出到excel檔案,一般實現方法如下所示:
public void export(GridControl gridControl1)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.FileName = "";
saveFileDialog1.Filter = "Excel檔案(.xls)|*.xls";
string strtype = "Excel檔名";
saveFileDialog1.FileName = strtype + DateTime.Now.ToString("yyyyMMddhhmmss");
saveFileDialog1.OverwritePrompt = false; //已存在檔案是否覆蓋提示
if (saveFileDialog1.ShowDialog() != DialogResult.OK)
return;
//已存在檔案是否覆蓋提示
while (System.IO.File.Exists(saveFileDialog1.FileName) &&
DevExpress.XtraEditors.XtraMessageBox.Show("該檔名已存在,是否覆蓋?",
"提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) != DialogResult.Yes)
{
if (saveFileDialog1.ShowDialog() != DialogResult.OK)
return;
}
if (saveFileDialog1.FileName != "")
{
try
{
System.IO.FileStream fs =(System.IO.FileStream)saveFileDialog1.OpenFile();
gridControl1.ExportToXls(fs);//將GridControl的內容匯出到指定的檔案路徑
fs.Close();
DevExpress.XtraEditors.XtraMessageBox.Show("資料匯出成功!", "提示");
}
catch (Exception ex)
{
if (ex.Message.Contains("正由另一程式使用"))
{
DevExpress.XtraEditors.XtraMessageBox.Show("資料匯出失敗!檔案正由另一個程式佔用!", "提示");
}
else
DevExpress.XtraEditors.XtraMessageBox.Show("資料匯出失敗!資料量過大,請分別統計再匯出!", "提示");
}
}
}
不過以上程式碼會出現一定的bug,比如說如果GridControl的資料是取自於資料庫,之後使用CustomColumnDisplayText事件的觸發函式修改其中一兩個欄位的值後展示到介面,而使用以上的方法則匯出的結果還為取自資料庫的原始值,並非處理後的值。那麼應當為ExportToXls函式設定匯出選項。將如下程式碼:
gridControl1.ExportToXls(fs);//將GridControl的內容匯出到指定的檔案路徑
替換為:
DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions(DevExpress.XtraPrinting.TextExportMode.Value);
options.TextExportMode = TextExportMode.Text;//設定匯出模式為文字
gridControl1.ExportToXls(fs,options);
而匯出的excel文件的格式不太美觀,列的寬度過短,因為這種方法是直接匯出介面顯示的GridControl效果,預設為表格列寬度最小值,應當對GridControl的屬性進行設定:設定GridControl的OptionPrint下的AutoWidth的值為false。以上設定即可使匯出的excel檔案列寬自動調整,並且可以根據需要調整GridControl控制元件具體列在介面展示寬度即可。
相關文章
- Java 匯入資料到Excel並提供檔案下載介面JavaExcel
- Vue匯出資料到Excel電子表格VueExcel
- 如何使用JavaScript匯入和匯出Excel檔案JavaScriptExcel
- java匯出Excel檔案JavaExcel
- C# DevExpress控制元件Gridview和GridControl學習總結C#devExpress控制元件View
- 使用PHP原生匯出Excel和CSV檔案PHPExcel
- C#快速匯出百萬級資料到Excel方法C#Excel
- 使用Excel匯入資料到SAP Cloud for Customer系統ExcelCloud
- EasyExcel完成excel檔案的匯入匯出Excel
- Laravel-admin 匯出excel檔案LaravelExcel
- POI匯出excel檔案加水印Excel
- Python批量匯入Excel資料到MySQLPythonExcelMySql
- php讀取excel檔案資料的匯入和匯出PHPExcel
- SQLServer匯出匯入資料到MySQLServerMySql
- C#中DataGrid匯出Excel檔案C#Excel
- vue3 匯出為Excel檔案VueExcel
- Laravel5.6中使用Laravel/Excel實現Excel檔案匯出功能LaravelExcel
- Python匯出資料到Excel表格-NotImplementedError: formatting_info=True not yet implementedPythonExcelErrorORM
- 匯入excel檔案Excel
- 【實戰教程】使用雲函式將資料表匯出為 Excel 檔案函式Excel
- 報表如何批次匯出成 excel 檔案Excel
- 前端必讀:如何在 JavaScript 中使用 SpreadJS 匯入和匯出 Excel 檔案前端JavaScriptJSExcel
- Sqoop匯出ClickHouse資料到HiveOOPHive
- 金山文件怎麼匯出excel檔案 金山文件到處excel檔案的方法Excel
- SAP UI5 表格資料如何匯出成 Excel 檔案(Table Export As Excel)UIExcelExport
- 【python】python初學 讀取map檔案資料到excel中PythonExcel
- django實現將後臺資料excel檔案形式匯出DjangoExcel
- 基於Vue + axios + WebApi + NPOI匯出Excel檔案VueiOSWebAPIExcel
- 利用Excel匯入資料到SAP C4CExcel
- DevExpress中獲取GridControl排序之後的ListdevExpress排序
- Dcat admin使用Laravel Excel匯出資料LaravelExcel
- .NET CORE 2.1 匯出excel檔案的兩種方法Excel
- Java POI匯入Excel檔案JavaExcel
- Go 使用反射匯出 ExcelGo反射Excel
- 4242.全文檢索與檔案匯出試驗, ④檔案完整路徑,使用“匯出→資料夾” ,匯出為網址,無法使用...
- 如何批次匯出地圖上商家店鋪資料到手機電腦excel表格地圖Excel
- 如何使用 JavaScript 匯入和匯出 ExcelJavaScriptExcel
- 從CSV檔案匯入資料到Analytics Cloud裡建立模型和StoryCloud模型
- excel導資料到PostgresqlExcelSQL