dev多控制元件匯出到Excel多個sheet頁
多個GridControl匯出到一個Excel的一個或多個sheet頁
多個DEV控制元件匯出到一個Excel的一個或者多個sheet頁
/// <summary> /// DevExpress控制元件通用匯出Excel,支援多個控制元件同時匯出在同一個Sheet表或者分不同工作薄 /// eg:ExportToXlsx("test",true,"控制元件",gridControl1,gridControl2); /// 將gridControl1和gridControl2的資料一同匯出到同一個檔案不同的工作薄 /// eg:ExportToXlsx("test",false,"",gridControl1,gridControl2); /// 將gridControl1和gridControl2的資料一同匯出到同一個檔案同一個的工作薄 /// <param name="title">檔名</param> /// <param name="isPageForEachLink">多個列印控制元件是否分多個工作薄顯示</param> /// <param name="sheetName">工作薄名稱</param> /// <param name="printables">控制元件集 eg:GridControl,PivotGridControl,TreeList,ChartControl...</param> public static void ExportToExcel(string title, bool isPageForEachLink, string sheetName, params DevExpress.XtraPrinting.IPrintable[] printables) { SaveFileDialog saveFileDialog = new SaveFileDialog() { FileName = title, Title = "匯出Excel", Filter = "Excel檔案(*.xlsx)|*.xlsx|Excel檔案(*.xls)|*.xls" }; DialogResult dialogResult = saveFileDialog.ShowDialog(); if (dialogResult == DialogResult.Cancel) return; string FileName = saveFileDialog.FileName; DevExpress.XtraPrintingLinks.CompositeLink link = new DevExpress.XtraPrintingLinks.CompositeLink(new DevExpress.XtraPrinting.PrintingSystem()); foreach (var item in printables) { var plink = new DevExpress.XtraPrinting.PrintableComponentLink() { Component = item }; link.Links.Add(plink); } if (isPageForEachLink)//15.1 的Xls不支援這個功能,15.2未知 link.CreatePageForEachLink(); if (string.IsNullOrEmpty(sheetName)) sheetName = "Sheet";//預設工作薄名稱 try { int count = 1; //在重複名稱後加(序號) while (System.IO.File.Exists(FileName)) { if (FileName.Contains(").")) { int start = FileName.LastIndexOf("("); int end = FileName.LastIndexOf(").") - FileName.LastIndexOf("(") + 2; FileName = FileName.Replace(FileName.Substring(start, end), string.Format("({0}).", count)); } else { FileName = FileName.Replace(".", string.Format("({0}).", count)); } count++; } if (FileName.LastIndexOf(".xlsx") >= FileName.Length - 5) { DevExpress.XtraPrinting.XlsxExportOptions options = new DevExpress.XtraPrinting.XlsxExportOptions() { SheetName = sheetName }; if (isPageForEachLink) options.ExportMode = DevExpress.XtraPrinting.XlsxExportMode.SingleFilePageByPage; link.ExportToXlsx(FileName, options); } else { DevExpress.XtraPrinting.XlsExportOptions options = new DevExpress.XtraPrinting.XlsExportOptions() { SheetName = sheetName }; if (isPageForEachLink) //15.Xls沒有這個屬性,15.2未知 options.ExportMode = DevExpress.XtraPrinting.XlsExportMode.SingleFilePageByPage; link.ExportToXls(FileName, options); } if (DevExpress.XtraEditors.XtraMessageBox.Show("儲存成功,是否開啟檔案?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) System.Diagnostics.Process.Start(FileName);//開啟指定路徑下的檔案 } catch (Exception ex) { DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message); } }
相關推薦
dev多控制元件匯出到Excel多個sheet頁
多個GridControl匯出到一個Excel的一個或多個sheet頁 多個DEV控制元件匯出到一個Excel的一個或者多個sheet頁/// <summary> /// DevExpress控制元件通用匯出Excel,支援
基於C#語言MVC框架NPOI控制元件匯出Excel表資料
控制元件bin檔案下載地址:https://download.csdn.net/download/u012949335/10610726 @{ ViewBag.Title = "dcxx"; } <script type="text/javascript"
Jqgrid表格控制元件匯出excel檔案
Jqgrid匯出excel實現思路: 1、根據jqgrid表頭樣式,使用jquery獲取表頭樣式。為保證對合並單元格表頭的相容,實現中沒有使用到jqgrid原聲api獲取colName等資訊。 2、匯出檔案內容使用xml格式檔案。 3、在前頭頁面生成檔案內容,然後將生成
DEV中多個xtrareport匯出excel,多個sheet頁匯出
report1.CreateLayoutViewDocument(); report2.CreateLayoutViewDocument(); report3.CreateLayoutViewDocument(); repo
.net NPOI匯出EXCEL多個sheet
protected void Button3_Click(object sender, EventArgs e) { DataTable dt = null; string tempprovince = "";
#Java--POI之Excel匯出工具類(支援多個sheet頁同時匯出)
一、核心程式碼 package com.yx.yzh.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.
C# 匯出Excel 多個Sheet 和 單個Sheet
在工作中,會遇到這樣的需求,選取某一年,匯出選擇年份的月度、季度或者年度報表,月度報表不可能產生12個單獨的Excel,這樣的話客戶可能會和你拼命,將12個月份分為12個Sheet放在一個Excel裡面,可能客戶會請你吃飯。 目前的做法是根據選擇的年份,將該年份所有的資料全
DevExpress控制元件cxGrid實現多列模糊匹配輸入的完美解決方案
本方案不需要修改控制元件原始碼,是完美解決cxgrid或TcxDBExtLookupComboBox支援多列模糊匹配快速輸入的最佳方案!! 小哥摸索多日,終於搞定cxgrid和TcxDBExtLookupComboBox可以支援多列模糊查詢輸入了! 縱觀網上的方案,不是
多控制元件焦點迴圈移動
實現效果: 知識運用: TextBox控制元件的Enter事件 //當該控制元件處於當前窗體的活動控制元件時發生 Leave事件 //當該控制元件不處於當前窗體的活動控制元件時發生 以及KeyDown事件 //在控制元件有焦點的情況下按下鍵時
Android-防止使用者快速點選和多控制元件點選
原地址簡書:http://www.jianshu.com/p/9d7df1895b72 1.為什麼要防止使用者重複點選 在使用者使用App的時候,並不會乖乖的按照我們的想法而執行。 下面就拿我們熟悉的Button來: 舉個栗子 假設這個Button的點選
Java SpringMVC專案匯出excel多種類對應工具類整理(util)
上一章介紹如何匯入excel進系統處理成MAP集合(詳情請看上提供的連結),這次我又整理了一下如何快速匯出excel的工具。 1.匯出無表頭excel 檔案單個工作表(sheet),【fileName是標題名,titleList是列名,list就是
Butterknife @OnClick繫結多控制元件id
package com.example.hh; import android.annotation.SuppressLint; import android.app.Activity; import android.graphics.drawable.Drawable;
js可選擇時分秒的日曆時間控制元件程式碼下載,多瀏覽器IE8,9,10、谷歌chrome,火狐firefox等都是相容的
該空間相容性比較好!我試過很多瀏覽器IE8,9,10、谷歌 火狐等瀏覽器,都是相容的,只需要匯入WdatePicker.js檔案。在inputText控制元件的onclick事件加入onclick="WdatePicker( {el:this,dateFmt:'yyy
winfrom多控制元件閃爍問題的解決
今天遇到空間閃爍問題,在網上找到各種辦法,什麼雙緩衝,慢繪製等等,發現都基本上不起作用。 最後找到一個解決辦法,非常好,所以就寫出來一塊分享一下。 只需要在類檔案裡新增這樣一個複寫方法: protected override CreateParams CreatePara
Django--複用django自帶的多對多控制元件
Django自帶的多對多控制元件雖然樣式普通,卻很實用,能避免程式設計師重複造輪子。 現在就詳解如何在前端頁面複用此控制元件,滿足自身開發需求。 首先,Djaong的templates中一般會有個base.html,是一切其他網頁的父類。在base.html中一定要加入:
下拉重新整理、上拉載入更多控制元件實現原理及解析(一)
以前那個賬號,以後可能不用了,把文章搬過來!!! 效果預覽 接受hi大頭鬼hi的建議,來一個動態圖,方便大家知道這是個什麼東西。 動機 原理 無論是下拉重新整理還是上拉載入更多,原理都是在內容View(ListView、Re
ActiveX控制元件中使用多執行緒導致的問題
用VC++6.0寫MFC ActiveX控制元件,就是實現個數據統計功能,呼叫SqlServer的儲存過程,計算量比較大,呼叫時間比較長,所以要把進度顯示出來(方法前文有述),用到多執行緒。需要線上程函式裡把計算的結果通過控制元件事件傳出去。 問題很奇怪,本來以為沒問題,使用
excel中利用vba合併多個sheet頁和合並多個excel文件
合併sheet頁, 合併excel文件, 合併工作表, 合併工作簿 合併工作表(sheet) 合併多個工作表 僅適用於每個sheet的第一行是資料頭,資料從第二行開始。 Sub 合併工作表()
Qt編寫自定義控制元件30-顏色多型按鈕
一、前言 這個控制元件一開始打算用樣式表來實現,經過初步的探索,後面發現還是不夠智慧以及不能完全滿足需求,比如要在此控制元件設定多
duilib中將xml封裝為控制元件簡單示例(簡單自定義控制元件,封裝幾個基本控制元件合為1個自定義控制元件)
使用duilib的時候,難免會有這樣的需求: 某一塊Container(Layout)以及裡面的佈局需要重複用,不想每次都複製貼上這麼多,要不然xml太大了; 通過繼承來自定義一個控制元件,比如CButtonUIEx之類的,想讓他像button一樣在xml中被識別; xml裡面的東西