Winform之SpreadSheetGear轉DevExpress.XtraSpreadsheet.v13.2實踐
什麼是Spreadsheet
可以看到最後就是一個近乎完整的Excel介面。
如何使用Spreadsheet
專案新增引用:
DevExpress.Docs.v13.2
DevExpress.XtraSpreadsheet.v13.2
程式碼示例:
註釋掉的部分是原來使用SpreadSheetGear的程式碼,理論上DevExpress.Spreadsheet可以完全替代SpreadSheetGear。
using DevExpress.Spreadsheet; using DevExpress.Spreadsheet.Export; //開啟Excel檔案 //SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(openFileDialog.FileName, System.Globalization.CultureInfo.CurrentCulture); spreadsheetControl1.LoadDocument(openFileDialog.FileName, DocumentFormat.Xls); //從流中讀取資料 var stream = new MemoryStream(); gridView1.ExportToXls(stream, true); //生成流 //var workbook = SpreadsheetGear.Factory.GetWorkbookSet().Workbooks.OpenFromStream(stream); Workbook workbook = new Workbook(); workbook.LoadDocument(stream, DocumentFormat.Xls); //儲存Excel檔案 //workbook.SaveAs(saveFileDialog.FileName, SpreadsheetGear.FileFormat.XLS97); workbook.SaveDocument(saveFileDialog.FileName, DocumentFormat.Xls); //新建Workbook和Worksheet //SpreadsheetGear.IWorkbook workbook = SpreadsheetGear.Factory.GetWorkbook(); //SpreadsheetGear.IWorksheet workSheet = workbook.Worksheets[0]; //workSheet.Name = dtSource.TableName; Workbook workbook = new Workbook(); Worksheet workSheet = workbook.Worksheets.Add(dtSource.TableName); //將DataTable填到Cell中 //SpreadsheetGear.IRange range = workSheet.Cells["A2"]; //range.CopyFromDataTable(dtSource, SpreadsheetGear.Data.SetDataFlags.NoColumnHeaders); workSheet.Import(dtSource, false, 1, 0); //資料匯出到DataTable //var dataSet = workbook.GetDataSet(SpreadsheetGear.Data.GetDataFlags.FormattedText | // SpreadsheetGear.Data.GetDataFlags.NoColumnHeaders); Worksheet worksheet = workbook.Worksheets[0]; Range range = worksheet.GetUsedRange(); bool rangeHasHeaders = false; DataTable dataTable = worksheet.CreateDataTable(range, rangeHasHeaders); //務必新增引用DevExpress.Docs.v13.2.dll DataTableExporter exporter = worksheet.CreateDataTableExporter(range, ataTable, rangeHasHeaders); exporter.Export(); //設定Cell值和格式 //workSheet.Cells[0, index].Columns.AutoFit(); //workSheet.Cells[0, index].Interior.Color = Color.Gray; //workSheet.Cells[0, index].Borders.LineStyle = SpreadsheetGear.LineStyle.Continuous; workSheet.Columns.AutoFit(0, dtSource.Columns.Count); workSheet.Cells[0, index].FillColor = Color.Gray; workSheet.Cells[0, index].Borders.SetAllBorders(Color.Black, BorderLineStyle.Thin);
相關推薦
Winform之SpreadSheetGear轉DevExpress.XtraSpreadsheet.v13.2實踐
DevExpress.XtraSpreadsheet.v13.2 允許使用者建立、管理、列印、轉換spreadsheet檔案而不需要使用者安裝Office。什麼是Spreadsheet 可以看到最後就是一個近乎完整的Excel介面。如何使用Spreadsheet 專案新增引
DevExpress.XtraSpreadsheet.v13.2.6 插入統計圖
維護一個老專案,使用的是Devexpress,裡邊有一個模組要操作到Excel,插入統計圖,但是無法插入統計圖,例如折線圖,找遍了全網,都是v15以上的版本,最後實在無奈,去官網詢問,結果。。。 兄弟
轉:vue-router 2.0 常用基礎知識點之router.push()
als 返回 ack name rep targe 代碼 添加 clas 轉載地址:http://www.jianshu.com/p/ee7ff3d1d93d router.push(location) 除了使用 <router-link> 創建 a 標簽來
C# Winform之界面跳轉動畫
col color protect 前言 問題 轉動 style pan 原因 前言: 今天的任務在實現功能的基礎上,要重新構造窗體UI,然而一開始加了背景圖後,開始出現了閃屏,原因就是因為有大量的控件需要重繪。然後就有了以下代碼解決了問題: 1 protected
(轉)winform之ListView
date 才有 樣式 單擊 對齊 bit 設置 結束 ron 一、ListView類 1、常用的基本屬性: (1)FullRowSelect:設置是否行選擇模式。(默認為false) 提示:只有在Details視圖該屬性才有意義。 (
thinkphp3.2.3之apache轉nginx偽靜態設定
本地開發的專案,使用的是apache伺服器,完成專案之後,之前搭建到的伺服器都是Windows伺服器上,從而上線,這次需要在寶塔上nginx伺服器上搭建,所以需要將apache的偽靜態更改為nginx:1.在網上搜索到的基本上都不是自己理想狀態下的需求,搜尋到的方法基本上與比
Atitit 演算法之道 attilax著 1. 編碼演算法 3 1.1. Base64 htmlencode urlencode 3 1.2. 漢字編碼演算法 轉碼演算法 3 2. Ui方面的演算法
Atitit 演算法之道 attilax著 1. 編碼演算法 3 1.1. Base64 htmlencode urlencode 3 1.2. 漢字編碼演算法 轉碼演算法 3 2. Ui方面的演算法 3 2.1. 軟鍵盤演算
python之shelve模塊詳解2(轉)
obb 情況下 缺點 hone p s 獲取 路徑 存儲文件 shelve 閱讀目錄一、定義二、用途三、用法四、關聯模塊Anydbm五、方法六、writeback參數回到頂部一、定義 Shelve是對象持久化保存方法,將對象保存到文件裏面,缺省(即默認)的數據存儲文件是二進
winform 之MDI容器
for dip each code div ipa rm2 args windows MDI是指將多控件窗體在同一窗體中打開 1、設置:屬性中IsMDIContainer:true; 窗體變為灰色成為MDI窗體容器 2、MDI中一般采用菜單作為打開方式 3、子級窗體在MDI
[C#學習筆記之異步編程模式2]BeginInvoke和EndInvoke方法 (轉載)
cti otf 函數返回 編程模式 catch 數值 gin 單線程 blog 為什麽要進行異步回調?眾所周知,普通方法運行,是單線程的,如果中途有大型操作(如:讀取大文件,大批量操作數據庫,網絡傳輸等),都會導致方法阻塞,表現在界面上就是,程序卡或者死掉,界面元素不動了,
hdu 5253 連接的管道(kruskal)(2015年百度之星程序設計大賽 - 初賽(2))
ostream turn targe 告訴 margin 表輸入 輸入 cst 代碼 連接的管道 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T
.4-Vue源碼之數據雙綁(2)
font _屬性 def ceo stat urn mark function return 開播了開播了! vue通過數據劫持來達到監聽和操作DOM更新,上一節簡述了數組變化是如何監聽的,這一節先講講對象屬性是如何劫持的。 // Line-855
A題之拼音轉數字
scan util length 響應 color sans pop -c 一行 輸入是一個僅僅包括拼音的字符串,請輸出相應的數字序列。轉換關系例如以下: 描寫敘述: 拼音 yi er san si wu liu qi ba jiu 阿拉伯數字 1
Python之路第二天,基礎2-基本數據類型
cheng python ech odi lun ron zid ast aof %E5%BE%AE%E4%BF%A1%E5%85%AC%E5%85%B1%E5%8F%B7%E7%9A%84PHP%E5%BC%80%E5%8F%91%E5%9F%BA%E7%A1%80%E7
個人量化交易者的自由之路(轉)
建立 ast 研究 bsp 編程 機器學習 細節 能開 平臺 對於做量化交易的個人交易者來說,需要以下幾步; 第一、有自己根據接口獨立開發的交易系統。文華財經、交易開拓者、金字塔除外。 第二、有自己完備的交易策略,根據自己的喜好,進行開發CTA、高頻交易、套利交易等。
Linux之使用haproxy搭建web群集(2)
linux duyuheng keepalived Linux之使用haproxy搭建web群集(2) 案例二:一、 實驗拓撲圖 二、 實驗目標:使用keepalived+haproxy實現雙機熱備和負載均衡。三、 實驗環境:各虛擬機防火墻Iptables 與 NetworkManager 關閉四
貓貓學iOS 之微博項目實戰(2)微博主框架-自己定義導航控制器NavigationController
點擊狀態 reat obj mar all func 返回 mutable point 貓貓分享,必須精品 原創文章。歡迎轉載。轉載請註明:翟乃玉的博客 地址:viewmode=contents">http://blog.csdn.net/u0133
c# 依賴註入之---反射(轉)
cti args adl factor ninject button his eal nodes 詳細請看http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html 定義一個接口,和兩個類(實現該接口) IB
Kubernetes之kubectl常用命令使用指南:2:故障排查
alpha eth message resources mount 權限 copyright count limit kubectl是一個用於操作kubernetes集群的命令行接口,通過利用kubectl的各種命令可以實現各種功能,是在使用kubernetes中非常
c#之如何轉換文本文件編碼格式為utf-8
格式 logs 文件編碼 pre str enc cnblogs style ext 如代碼: string content = File.ReadAllText(path, Encoding.Default); File.WriteAllText(path, conte