1. 1.添加引用:
  2. Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载。关于它的操作我在“Aspose.Cells操作说明 中文版 下载 Aspose C# 导出Excel 实例”一文中的说。这里你暂时也可不理会它。)
  3. 即使没有安装office也能用噢,这是一个好强的大工具。
  4. 2.编写Excel操作类
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Text;
  8. using Aspose.Cells;
  9. using System.Data;
  10. public class AsposeExcel
  11. {
  12. private string outFileName = "";
  13. private string fullFilename = "";
  14. private Workbook book = null;
  15. private Worksheet sheet = null;
  16. public AsposeExcel(string outfilename, string tempfilename) //导出构造数
  17. {
  18. outFileName = outfilename;
  19. book = new Workbook();
  20. // book.Open(tempfilename);这里我们暂时不用模板
  21. sheet = book.Worksheets[0];
  22. }
  23. public AsposeExcel(string fullfilename) //导入构造数
  24. {
  25. fullFilename = fullfilename;
  26. // book = new Workbook();
  27. // book.Open(tempfilename);
  28. // sheet = book.Worksheets[0];
  29. }
  30. private void AddTitle(string title, int columnCount)
  31. {
  32. sheet.Cells.Merge(0, 0, 1, columnCount);
  33. sheet.Cells.Merge(1, 0, 1, columnCount);
  34. Cell cell1 = sheet.Cells[0, 0];
  35. cell1.PutValue(title);
  36. cell1.Style.HorizontalAlignment = TextAlignmentType.Center;
  37. cell1.Style.Font.Name = "黑体";
  38. cell1.Style.Font.Size = 14;
  39. cell1.Style.Font.IsBold = true;
  40. Cell cell2 = sheet.Cells[1, 0];
  41. cell1.PutValue("查询时间:" + DateTime.Now.ToLocalTime());
  42. cell2.SetStyle(cell1.Style);
  43. }
  44. private void AddHeader(DataTable dt)
  45. {
  46. Cell cell = null;
  47. for (int col = 0; col < dt.Columns.Count; col++)
  48. {
  49. cell = sheet.Cells[0, col];
  50. cell.PutValue(dt.Columns[col].ColumnName);
  51. cell.Style.Font.IsBold = true;
  52. }
  53. }
  54. private void AddBody(DataTable dt)
  55. {
  56. for (int r = 0; r < dt.Rows.Count; r++)
  57. {
  58. for (int c = 0; c < dt.Columns.Count; c++)
  59. {
  60. sheet.Cells[r + 1, c].PutValue(dt.Rows[R]­[c].ToString());
  61. }
  62. }
  63. }
  64. //导出------------下一篇会用到这个方法
  65. public Boolean DatatableToExcel(DataTable dt)
  66. {
  67. Boolean yn = false;
  68. try
  69. {
  70. //sheet.Name = sheetName;
  71. //AddTitle(title, dt.Columns.Count);
  72. //AddHeader(dt);
  73. AddBody(dt);
  74. sheet.AutoFitColumns();
  75. //sheet.AutoFitRows();
  76. book.Save(outFileName);
  77. yn = true;
  78. return yn;
  79. }
  80. catch (Exception e)
  81. {
  82. return yn;
  83. // throw e;
  84. }
  85. }
  86. public DataTable ExcelToDatatalbe()//导入
  87. {
  88. Workbook book = new Workbook();
  89. book.Open(fullFilename);
  90. Worksheet sheet = book.Worksheets[0];
  91. Cells cells = sheet.Cells;
  92. //获取excel中的数据保存到一个datatable中
  93. DataTable dt_Import = cells.ExportDataTableAsString(0, 0, cells.MaxDataRow + 1, cells.MaxDataColumn + 1, false);
  94. // dt_Import.
  95. return dt_Import;
  96. }
  97. }[/R]
  98. 3. Word导出
  99. //设置文件类型
  100. // saveFileDialog为一个对话框控件
  101. //如果没有人工具栏中拉,
  102. //可以:SaveFileDialog saveFileDialog1=new SaveFileDialog();
  103. saveFileDialog1.Filter = "导出Excel (*.xls)|*.xls|Word (*.doc)|*.doc";
  104. saveFileDialog1.FilterIndex = 1;
  105. saveFileDialog1.RestoreDirectory = true;
  106. saveFileDialog1.CreatePrompt = true;
  107. saveFileDialog1.Title = "导出文件保存路径";
  108. //saveFileDialog1.ShowDialog();
  109. //string strName = saveFileDialog1.FileName;
  110. //设置默认文件类型显示顺序
  111. //saveFileDialog1.FilterIndex = 2;
  112. //保存对话框是否记忆上次打开的目录
  113. saveFileDialog1.RestoreDirectory = true;
  114. //点了保存按钮进入
  115. if (saveFileDialog1.ShowDialog() == DialogResult.OK)
  116. {
  117. //获得文件路径
  118. string localFilePath = saveFileDialog1.FileName.ToString();
  119. //获取文件名,不带路径
  120. string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\") + 1);
  121. //获取文件路径,不带文件名
  122. string FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\"));
  123. //给文件名前加上时间
  124. string newFileName = DateTime.Now.ToString("yyyyMMdd") + fileNameExt;
  125. //在文件名里加字符
  126. //saveFileDialog1.FileName.Insert(1,"dameng");
  127. saveFileDialog1.FileName = FilePath + "\" + newFileName;
  128. System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile();//输出文件
  129. StreamWriter writer = new StreamWriter(fs);
  130. writer.Write("tttt");//这里就是你要导出到word的内容,内容是你什么你自已DIY
  131. writer.Flush();
  132. writer.Close();
  133. fs.Close();
  134. }
  135. 4. 导出datatable到excel
  136. DataTable dt = null;
  137. if (ds_all.Tables[0] != null)
  138. {
  139. dt = ds_all.Tables[0];
  140. }
  141. else {
  142. MessageBox.Show("没有数据记录", "*^_^* 温馨提示信息", MessageBoxButtons.OK);
  143. return;
  144. }
  145. //上面只是取datatable,你自己diy
  146. AsposeExcel tt = new AsposeExcel(saveFileDialog1.FileName, "");//不用模板, saveFileDialog1是什么?上面已经说过
  147. bool OK_NO = tt.DatatableToExcel(dt);
  148. if (OK_NO)
  149. {
  150. MessageBox.Show("导出成功", "*^_^* 温馨提示信息", MessageBoxButtons.OK);
  151. }
  152. else
  153. {
  154. }
  155. 5. Excel导入
  156. private void 导入ToolStripMenuItem_Click(object sender, EventArgs e)
  157. {
  158. string localFilePath = "";
  159. //点了保存按钮进入
  160. if (openFileDialog1.ShowDialog() == DialogResult.OK)// openFileDialog1不要再问我这是什么!
  161. {
  162. //获得文件路径
  163. localFilePath = openFileDialog1.FileName.ToString();
  164. }
  165. AsposeExcel tt = new AsposeExcel(localFilePath);
  166. DataTable dt;
  167. try
  168. {
  169. dt = tt.ExcelToDatatalbe();
  170. }
  171. catch (Exception ex)
  172. {
  173. return;
  174. }
  175. //有了datatable你自己就可以DIY啦,下面是我自己的你不用理
  176. if (ddlResidence.SelectedValue == "违章确认")
  177. {
  178. if (dt.Rows[0][9].ToString() != "违章确认")
  179. {
  180. return;
  181. }
  182. row = dt.Rows.Count;
  183. if (row <= 0) return;
  184. for (int i = 0; i < dt.Rows.Count; i++)
  185. {
  186. bllviola.Up_Confirmed_ByVnum(dt.Rows[i][6].ToString(), dt.Rows[i][9].ToString());
  187. }
  188. this.GridView1.DataSource = dt;
  189. GridView1.DataBind();
  190. }

C# WinForm使用Aspose.Cells.dll 导出导入Excel/Doc 完整实例教程的更多相关文章

  1. C# WinForm 导出导入Excel/Doc 完整实例教程[使用Aspose.Cells.dll]

    [csharp] view plain copy 1.添加引用: Aspose.Cells.dll(我们就叫工具包吧,可以从网上下载.关于它的操作我在“Aspose.Cells操作说明 中文版 下载 ...

  2. C# winform 导出导入Excel/Doc 完整实例教程[网上看到的]

    还真没做过winform的导出导入,今天上网百度了一下.结果--- 所以还是我自己写个吧.之前做过web的,半搬半做就OK. 1添加引用:Aspose.Cells.dll(我们就叫工具包吧,可以从网上 ...

  3. Aspose.Cells.dll引用导入导出Excel

    Aspose.Cells 导入导出EXCEL 文章出处:http://hi.baidu.com/leilongbing/item/c11467e1819e5417595dd8c1 修改样式       ...

  4. C# 利用Aspose.Cells .dll将本地excel文档转化成pdf(完美破解版 无水印 无中文乱码)

    Aspose.Cells .dll下载  http://pan.baidu.com/s/1slRENLF并引用 C#代码 using System; using System.Collections. ...

  5. 基于 Aspose.Cells与XML导入excel 数据----操作类封装

    前言 导入excel数据, 在每个项目中基本上都会遇到,第三方插件或者基于微软office,用的最多的就是npoi,aspose.cells和c#基于office这三种方式,其中各有各的优缺点,在这也 ...

  6. C# 读写Excel的一些方法,Aspose.Cells.dll

    需求:现有2个Excel,一个7000,一个20W,7000在20W是完全存在的.现要分离20W的,拆分成19W3和7000. 条件:两个Excel都有“登录名”,然后用“登录名”去关联2个Excel ...

  7. C# Aspose.Cells.dll Excel操作总结

    简介 Aspose.Cells是一款功能强大的 Excel 文档处理和转换控件,不依赖 Microsoft Excel 环境,支持所有 Excel 格式类型的操作. 下载 Aspose.Cells.d ...

  8. Aspose.Cells.dll操作execl

    附件:Aspose.Cells.dll 1.创建execl(不需要服务器或者客户端安装office) public void DCExexl(DataTable dt) {  Workbook wb ...

  9. 利用Aspose.Cell控件导入Excel非强类型的数据

    导入Excel的操作是非常常见的操作,可以使用Aspose.Cell.APOI.MyXls.OLEDB.Excel VBA等操作Excel文件,从而实现数据的导入,在导入数据的时候,如果是强类型的数据 ...

随机推荐

  1. Xcode5 支持 SVN 1.7

    Xcode升级了之后出现了各种问题,SVN升级到subversion 1.7后,Xcode自带有svn,版本是1.6,所以svn的1.6和1.7不兼容. 解决的办法,要么是降低系统的svn 版本,要么 ...

  2. hdu 1969(二分)

    题意:给了你n个蛋糕,然后分给m+1个人,问每个人所能得到的最大体积的蛋糕,每个人的蛋糕必须是属于同一块蛋糕的! 分析:浮点型二分,二分最后的结果即可,这里要注意圆周率的精度问题! #include& ...

  3. Linux中用stat命令查看文件时3个时间点解析

    有些时候,我们需要在Linux中使用stat命令来查看文件的详细信息.另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下. 首先,我 ...

  4. Ubuntu 升级到13.10之后出现Apache2启动失败的问题

    昨天看到Ubuntu 13.04提示有新的发行版Ubuntu 13.10了,手痒了一下,没有忍住就升级了. 结果升级完毕之后发现Apache2服务启动失败了,失败信息是: Invalid comman ...

  5. cocoa NSFileManager

    NSFileManager中包含了用来查询单词库目录.创建.重命名.删除目录以及获取/设置文件属性的方法(可读性,可编写性等等). 每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件.写入沙盒的文 ...

  6. textBox只能输入汉字

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if ((e.KeyChar > 0 && ...

  7. C++标准转换运算符 --四种

    具体归纳如下: reinterpret_cast 函数将一个类型的指针转换为另一个类型的指针. 这种转换不用修改指针变量值存放格式(不改变指针变量值),只需在编译时重新解释指针的类型就可做到.rein ...

  8. linux 条件变量

    互斥量就是一把锁,在访问数据时能保证同一时间内只有一个线程访问数据,在访问完以后再释放互斥量上的锁. 条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条 ...

  9. VS2010安装EntityFramework5.0

    EntityFramework 当前最新版本是6.0,2012年10月份发布,不过是alpha1版本,稳定版本是8月份发布的5.0版本,对于初学者来说,还是别在测试版上折腾了,先学习稳定的5.0版本, ...

  10. es6转码器-babel

    babel 基本使用 安装转码规则 # ES2015转码规则 $ npm install --save-dev babel-preset-es2015 # react转码规则 $ npm instal ...