You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ModuleExportController.cs 29 KiB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587
  1. using ClosedXML.Excel;
  2. using Learun.Application.CRM;
  3. using Learun.Application.Excel;
  4. using NPOI.XWPF.UserModel;
  5. using System.Collections.Generic;
  6. using System.IO;
  7. using System.Linq;
  8. using System.Web.Mvc;
  9. namespace Learun.Application.Web.Areas.LR_OAModule.Controllers
  10. {
  11. /// <summary>
  12. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  13. /// Copyright (c) 2013-2017
  14. /// 创建人:陈彬彬
  15. /// 日 期:2018.06.17
  16. /// 描 述:模板导出
  17. /// </summary>
  18. public class ModuleExportController : MvcControllerBase
  19. {
  20. private CrmOrderIBLL crmOrderIBLL = new CrmOrderBLL();
  21. private CrmCustomerIBLL crmCustomerIBLL = new CrmCustomerBLL();
  22. private ModuleExportIBLL moduleExportIBLL = new ModuleExportBLL();
  23. /// <summary>
  24. /// 管理页面
  25. /// </summary>
  26. /// <returns></returns>
  27. public ActionResult Index()
  28. {
  29. return View();
  30. }
  31. /// <summary>
  32. /// 获取数据
  33. /// </summary>
  34. /// <param name="pagination">分页参数</param>
  35. /// <param name="queryJson">查询条件函数</param>
  36. /// <returns></returns>
  37. [HttpGet]
  38. [AjaxOnly]
  39. public ActionResult GetFormData(string keyValue)
  40. {
  41. var orderData = crmOrderIBLL.GetCrmOrderEntity(keyValue);
  42. var customerData = crmCustomerIBLL.GetEntity(orderData.F_CustomerId);
  43. var orderProductData = crmOrderIBLL.GetCrmOrderProductEntity(keyValue);
  44. var jsonData = new
  45. {
  46. orderData = orderData,
  47. orderProductData = orderProductData,
  48. customerData = customerData
  49. };
  50. return JsonResult(jsonData);
  51. }
  52. #region 扩展:导出
  53. /// <summary>
  54. /// 导出报价单(Word)
  55. /// </summary>
  56. /// <param name="keyValue">主键</param>
  57. /// <param name="requestInfo">数据</param>
  58. public void ExportWord(string keyValue, string orderInfo)
  59. {
  60. XWPFDocument doc = new XWPFDocument();//创建新的word文档
  61. XWPFParagraph p1 = doc.CreateParagraph();//向新文档中添加段落
  62. p1.Alignment = ParagraphAlignment.CENTER;//段落对其方式为居中
  63. XWPFRun r1 = p1.CreateRun(); //向该段落中添加文字
  64. r1.SetText("");
  65. r1.IsBold = true;//设置粗体
  66. r1.FontSize = 28;//设置字体大小
  67. XWPFParagraph p2 = doc.CreateParagraph();
  68. p2.Alignment = ParagraphAlignment.CENTER;
  69. XWPFRun r2 = p2.CreateRun();
  70. r2.SetText(" ");
  71. r2.FontSize = 12;//设置字体大小
  72. r2.FontFamily = "宋体";
  73. XWPFParagraph p3 = doc.CreateParagraph();
  74. p3.Alignment = ParagraphAlignment.CENTER;
  75. XWPFRun r3 = p3.CreateRun();
  76. r3.SetText("电话:010-8888888 传真:010-8888888");
  77. r3.FontSize = 12;//设置字体大小
  78. r3.FontFamily = "宋体";
  79. XWPFParagraph p4 = doc.CreateParagraph();
  80. p4.Alignment = ParagraphAlignment.CENTER;
  81. XWPFRun r4 = p4.CreateRun();
  82. r4.SetText("报 价 单");
  83. r4.IsBold = true;//设置粗体
  84. r4.FontSize = 28;//设置字体大小
  85. XWPFParagraph p5 = doc.CreateParagraph();
  86. XWPFRun r5_1 = p5.CreateRun();
  87. r5_1.SetText("公 司:");
  88. r5_1.FontSize = 12;//设置字体大小
  89. r5_1.FontFamily = "宋体";
  90. XWPFRun r5_2 = p5.CreateRun();
  91. r5_2.SetText("捷敏电子 ");
  92. r5_2.FontSize = 12;//设置字体大小
  93. r5_2.SetUnderline(UnderlinePatterns.Single);
  94. r5_2.FontFamily = "宋体";
  95. XWPFRun r5_3 = p5.CreateRun();
  96. r5_3.SetText("联系人:");
  97. r5_3.FontSize = 12;//设置字体大小
  98. r5_3.FontFamily = "宋体";
  99. XWPFRun r5_4 = p5.CreateRun();
  100. r5_4.SetText("陈齐 ");
  101. r5_4.FontSize = 12;//设置字体大小
  102. r5_4.SetUnderline(UnderlinePatterns.Single);
  103. r5_4.FontFamily = "宋体";
  104. XWPFParagraph p6 = doc.CreateParagraph();
  105. XWPFRun r6_1 = p6.CreateRun();
  106. r6_1.SetText("电 话:");
  107. r6_1.FontSize = 12;//设置字体大小
  108. r6_1.FontFamily = "宋体";
  109. XWPFRun r6_2 = p6.CreateRun();
  110. r6_2.SetText("0592-88888886");
  111. r6_2.FontSize = 12;//设置字体大小
  112. r6_2.SetUnderline(UnderlinePatterns.Single);
  113. r6_2.FontFamily = "宋体";
  114. XWPFRun r6_3 = p6.CreateRun();
  115. r6_3.SetText("传 真:");
  116. r6_3.FontSize = 12;//设置字体大小
  117. r6_3.FontFamily = "宋体";
  118. XWPFRun r6_4 = p6.CreateRun();
  119. r6_4.SetText("0592-88888886 ");
  120. r6_4.FontSize = 12;//设置字体大小
  121. r6_4.SetUnderline(UnderlinePatterns.Single);
  122. r6_4.FontFamily = "宋体";
  123. XWPFParagraph p7 = doc.CreateParagraph();
  124. XWPFRun r7_1 = p7.CreateRun();
  125. r7_1.SetText("邮 箱:");
  126. r7_1.FontSize = 12;//设置字体大小
  127. r7_1.FontFamily = "宋体";
  128. XWPFRun r7_2 = p7.CreateRun();
  129. r7_2.SetText("821727758@163.com ");
  130. r7_2.FontSize = 12;//设置字体大小
  131. r7_2.SetUnderline(UnderlinePatterns.Single);
  132. r7_2.FontFamily = "宋体";
  133. XWPFRun r7_3 = p7.CreateRun();
  134. r7_3.SetText("地 址:");
  135. r7_3.FontSize = 12;//设置字体大小
  136. r7_3.FontFamily = "宋体";
  137. XWPFRun r7_4 = p7.CreateRun();
  138. r7_4.SetText("陈齐 ");
  139. r7_4.FontSize = 12;//设置字体大小
  140. r7_4.SetUnderline(UnderlinePatterns.Single);
  141. r7_4.FontFamily = "宋体";
  142. XWPFParagraph p8 = doc.CreateParagraph();
  143. XWPFRun r8_1 = p8.CreateRun();
  144. r8_1.SetText("报价人:");
  145. r8_1.FontSize = 12;//设置字体大小
  146. r8_1.FontFamily = "宋体";
  147. XWPFRun r8_2 = p8.CreateRun();
  148. r8_2.SetText("李阳华 ");
  149. r8_2.FontSize = 12;//设置字体大小
  150. r8_2.SetUnderline(UnderlinePatterns.Single);
  151. r8_2.FontFamily = "宋体";
  152. XWPFRun r8_3 = p8.CreateRun();
  153. r8_3.SetText("日 期:");
  154. r8_3.FontSize = 12;//设置字体大小
  155. r8_3.FontFamily = "宋体";
  156. XWPFRun r8_4 = p8.CreateRun();
  157. r8_4.SetText("2016-05-23 11:18:29");
  158. r8_4.FontSize = 12;//设置字体大小
  159. r8_4.SetUnderline(UnderlinePatterns.Single);
  160. r8_4.FontFamily = "宋体";
  161. XWPFTable table = doc.CreateTable(11, 8);//创建表格
  162. table.Width = 600 * 8;
  163. table.SetColumnWidth(0, 400);/* 设置列宽 */
  164. table.SetColumnWidth(1, 1100);/* 设置列宽 */
  165. table.SetColumnWidth(2, 500);/* 设置列宽 */
  166. table.SetColumnWidth(3, 500);/* 设置列宽 */
  167. table.SetColumnWidth(4, 500);/* 设置列宽 */
  168. table.SetColumnWidth(5, 500);/* 设置列宽 */
  169. table.SetColumnWidth(6, 500);/* 设置列宽 */
  170. table.SetColumnWidth(7, 800);/* 设置列宽 */
  171. table.GetRow(0).GetCell(0).SetText("编号");
  172. table.GetRow(0).GetCell(1).SetText("品名");
  173. table.GetRow(0).GetCell(2).SetText("规格");
  174. table.GetRow(0).GetCell(3).SetText("数量");
  175. table.GetRow(0).GetCell(4).SetText("单位");
  176. table.GetRow(0).GetCell(5).SetText("单价");
  177. table.GetRow(0).GetCell(6).SetText("金额");
  178. table.GetRow(0).GetCell(7).SetText("备注");
  179. table.GetRow(1).GetCell(0).SetText("1");
  180. table.GetRow(1).GetCell(1).SetText("敏捷开发框架-个人开发版");
  181. table.GetRow(1).GetCell(2).SetText("定制");
  182. table.GetRow(1).GetCell(3).SetText("1");
  183. table.GetRow(1).GetCell(4).SetText("套");
  184. table.GetRow(1).GetCell(5).SetText("11111");
  185. table.GetRow(1).GetCell(6).SetText("11111");
  186. table.GetRow(1).GetCell(7).SetText("");
  187. table.GetRow(2).GetCell(0).SetText("2");
  188. table.GetRow(2).GetCell(1).SetText("敏捷开发框架-个人尊享版");
  189. table.GetRow(2).GetCell(2).SetText("定制");
  190. table.GetRow(2).GetCell(3).SetText("1");
  191. table.GetRow(2).GetCell(4).SetText("套");
  192. table.GetRow(2).GetCell(5).SetText("22222");
  193. table.GetRow(2).GetCell(6).SetText("22222");
  194. table.GetRow(2).GetCell(7).SetText("");
  195. table.GetRow(3).GetCell(0).SetText("3");
  196. table.GetRow(3).GetCell(1).SetText("敏捷开发框架-企业旗舰版");
  197. table.GetRow(3).GetCell(2).SetText("定制");
  198. table.GetRow(3).GetCell(3).SetText("1");
  199. table.GetRow(3).GetCell(4).SetText("套");
  200. table.GetRow(3).GetCell(5).SetText("100000");
  201. table.GetRow(3).GetCell(6).SetText("100000");
  202. table.GetRow(3).GetCell(7).SetText("");
  203. table.GetRow(4).GetCell(0).SetText("4");
  204. table.GetRow(4).GetCell(1).SetText("服务器硬件");
  205. table.GetRow(4).GetCell(2).SetText("联想");
  206. table.GetRow(4).GetCell(3).SetText("5");
  207. table.GetRow(4).GetCell(4).SetText("台");
  208. table.GetRow(4).GetCell(5).SetText("20000.00");
  209. table.GetRow(4).GetCell(6).SetText("100000.00");
  210. table.GetRow(4).GetCell(7).SetText("");
  211. table.GetRow(5).GetCell(0).SetText("5");
  212. table.GetRow(5).GetCell(1).SetText("数据库正版");
  213. table.GetRow(5).GetCell(2).SetText("SQLServer");
  214. table.GetRow(5).GetCell(3).SetText("5");
  215. table.GetRow(5).GetCell(4).SetText("套");
  216. table.GetRow(5).GetCell(5).SetText("9998.00");
  217. table.GetRow(5).GetCell(6).SetText("49990.00");
  218. table.GetRow(5).GetCell(7).SetText("");
  219. table.GetRow(6).GetCell(0).SetText("6");
  220. table.GetRow(6).GetCell(1).SetText("服务费");
  221. table.GetRow(6).GetCell(2).SetText("");
  222. table.GetRow(6).GetCell(3).SetText("1");
  223. table.GetRow(6).GetCell(4).SetText("年");
  224. table.GetRow(6).GetCell(5).SetText("80000.00");
  225. table.GetRow(6).GetCell(6).SetText("80000.00");
  226. table.GetRow(6).GetCell(7).SetText("");
  227. table.GetRow(7).GetCell(0).SetText("7");
  228. table.GetRow(7).GetCell(1).SetText("差旅费用");
  229. table.GetRow(7).GetCell(2).SetText("");
  230. table.GetRow(7).GetCell(3).SetText("1");
  231. table.GetRow(7).GetCell(4).SetText("年");
  232. table.GetRow(7).GetCell(5).SetText("60000.00");
  233. table.GetRow(7).GetCell(6).SetText("80000.00");
  234. table.GetRow(7).GetCell(7).SetText("");
  235. table.GetRow(8).GetCell(0).SetText("");
  236. table.GetRow(8).GetCell(1).SetText("");
  237. table.GetRow(8).GetCell(2).SetText("");
  238. table.GetRow(8).GetCell(3).SetText("");
  239. table.GetRow(8).GetCell(4).SetText("");
  240. table.GetRow(8).GetCell(5).SetText("");
  241. table.GetRow(8).GetCell(6).SetText("");
  242. table.GetRow(8).GetCell(7).SetText("");
  243. table.GetRow(9).GetCell(0).SetText(" 币种:人民币 总计:323323.00 ");
  244. table.GetRow(9).MergeCells(0, 7);
  245. table.GetRow(10).GetCell(0).SetText("备注");
  246. table.GetRow(10).GetCell(1).SetText("");
  247. table.GetRow(10).MergeCells(1, 7);
  248. XWPFParagraph p9 = doc.CreateParagraph();
  249. XWPFRun r9_1 = p9.CreateRun();
  250. r9_1.SetText("日 期:");
  251. r9_1.FontSize = 12;//设置字体大小
  252. r9_1.FontFamily = "宋体";
  253. XWPFRun r9_2 = p9.CreateRun();
  254. r9_2.SetText(" ");
  255. r9_2.FontSize = 12;//设置字体大小
  256. r9_2.SetUnderline(UnderlinePatterns.Single);
  257. r9_2.FontFamily = "宋体";
  258. XWPFParagraph p10 = doc.CreateParagraph();
  259. XWPFRun r10_1 = p10.CreateRun();
  260. r10_1.SetText("签 字: ");
  261. r10_1.FontSize = 12;//设置字体大小
  262. r10_1.FontFamily = "宋体";
  263. XWPFRun r10_2 = p10.CreateRun();
  264. r10_2.SetText(" ");
  265. r10_2.FontSize = 12;//设置字体大小
  266. r10_2.SetUnderline(UnderlinePatterns.Single);
  267. r10_2.FontFamily = "宋体";
  268. MemoryStream ms = new MemoryStream();
  269. doc.Write(ms);
  270. // 添加头信息,为"文件下载/另存为"对话框指定默认文件名
  271. Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.doc", "报价单"));
  272. Response.Charset = "UTF-8";
  273. Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
  274. // 指定返回的是一个不能被客户端读取的流,必须被下载
  275. Response.ContentType = "application/ms-word";
  276. // 把文件流发送到客户端
  277. Response.BinaryWrite(ms.ToArray());
  278. doc = null;
  279. ms.Close();
  280. ms.Dispose();
  281. }
  282. /// <summary>
  283. /// 导出报价单(Excel)
  284. /// </summary>
  285. /// <param name="keyValue">主键</param>
  286. /// <param name="requestInfo">数据</param>
  287. public void ExportExcel(string keyValue, string orderInfo)
  288. {
  289. var requestData = crmOrderIBLL.GetCrmOrderEntity(keyValue);
  290. var customerData = crmCustomerIBLL.GetEntity(requestData.F_CustomerId);//获取采购申请单信息
  291. var goodsList = crmOrderIBLL.GetCrmOrderProductEntity(keyValue);//获取相应的商品信息
  292. List<CrmOrderProductEntity> list = goodsList.ToList();
  293. var wb = new XLWorkbook();
  294. var ws = wb.Worksheets.Add("报价单");//shift名称
  295. ws.Cell("A1").Value = "";//表格标题A1代表表格第一行的内容
  296. ws.Cell("A2").Value = " ";//表格标题A2代表表格第一行的内容
  297. ws.Range(2, 1, 2, 12).Merge();
  298. ws.Range(2, 1, 2, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  299. ws.Cell("A2").Style.Font.FontSize = 10;
  300. ws.Cell("A3").Value = "电话:021-8888888 传真:021-8888888";//表格标题A3代表表格第一行的内容
  301. ws.Range(3, 1, 3, 12).Merge();
  302. ws.Range(3, 1, 3, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  303. ws.Cell("A3").Style.Font.FontSize = 10;
  304. ws.Cell("A4").Value = "报 价 单";//表格标题A4代表表格第一行的内容
  305. ws.Range(4, 1, 4, 12).Merge();
  306. ws.Range(4, 1, 4, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  307. ws.Range(4, 1, 4, 12).Style.Font.Bold = true;
  308. ////报价单信息
  309. ws.Cell("A5").Value = "公 司";
  310. ws.Cell("B5").Value = customerData.F_FullName;//公司名称,合并5个单元格
  311. ws.Cell("B5").DataType = 0;
  312. ws.Range(5, 2, 5, 6).Merge();
  313. ws.Range(5, 2, 5, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  314. ws.Cell("G5").Value = "联系人";
  315. ws.Cell("H5").Value = customerData.F_Contact;//联系人,合并5个单元格
  316. ws.Range(5, 8, 5, 12).Merge();
  317. ws.Range(5, 8, 5, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  318. ws.Cell("A6").Value = "电 话";
  319. ws.Cell("B6").Value = customerData.F_Tel;//供货单位,合并5个单元格
  320. ws.Range(6, 2, 6, 6).Merge();
  321. ws.Range(6, 2, 6, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  322. ws.Cell("G6").Value = "传 真";
  323. ws.Cell("H6").Value = customerData.F_Fax;//采购类型,合并5个单元格
  324. ws.Range(6, 8, 6, 12).Merge();
  325. ws.Range(6, 8, 6, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  326. ws.Cell("A7").Value = "邮 箱";
  327. ws.Cell("B7").Value = customerData.F_Email;//到货日期,合并5个单元格
  328. ws.Range(7, 2, 7, 6).Merge();
  329. ws.Range(7, 2, 7, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  330. ws.Cell("G7").Value = "地 址";
  331. ws.Cell("H7").Value = customerData.F_CompanyAddress;//采购总额,合并3个单元格
  332. ws.Range(7, 8, 7, 12).Merge();
  333. ws.Range(7, 8, 7, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  334. ws.Cell("A8").Value = "报价人";
  335. ws.Cell("B8").Value = customerData.F_CreateUserName;//付款方式,合并3个单元格
  336. ws.Range(8, 2, 8, 6).Merge();
  337. ws.Range(8, 2, 8, 6).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  338. ws.Cell("G8").Value = "日 期";
  339. ws.Cell("H8").Value = customerData.F_CreateDate;//付款期限,合并3个单元格
  340. ws.Range(8, 8, 8, 12).Merge();
  341. ws.Range(8, 8, 8, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  342. ////表格表头处理
  343. ws.Cell("A9").Value = "编号";
  344. ws.Cell("B9").Value = "品名";
  345. ws.Range(9, 2, 9, 4).Merge();
  346. ws.Range(9, 2, 9, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  347. ws.Cell("E9").Value = "规格";
  348. ws.Cell("F9").Value = "数量";
  349. ws.Cell("G9").Value = "单位";
  350. ws.Cell("H9").Value = "单价";
  351. ws.Cell("I9").Value = "金额";
  352. ws.Cell("J9").Value = "备注";
  353. ws.Range(9, 10, 9, 12).Merge();
  354. ws.Range(9, 10, 9, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  355. ////循环添加表格内容
  356. for (int i = 0; i < list.Count; i++)
  357. {
  358. ws.Cell(i + 10, 1).Value = i + 1;
  359. ws.Cell(i + 10, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  360. ws.Cell(i + 10, 2).Value = list[i].F_ProductName;
  361. ws.Range(i + 10, 2, i + 10, 4).Merge();
  362. ws.Range(i + 10, 2, i + 10, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  363. ws.Cell(i + 10, 5).Value = "定制";
  364. ws.Cell(i + 10, 6).Value = list[i].F_Qty;
  365. ws.Cell(i + 10, 7).Value = "套";
  366. ws.Cell(i + 10, 8).Value = list[i].F_Amount;
  367. ws.Cell(i + 10, 9).Value = list[i].F_Amount * list[i].F_Qty;
  368. ws.Cell(i + 10, 10).Value = "";//备注
  369. ws.Range(i + 10, 10, i + 10, 12).Merge();
  370. ws.Range(i + 10, 10, i + 10, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  371. }
  372. ws.Cell(13, 1).Value = list.Count + 1;
  373. ws.Cell(13, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  374. ws.Cell(13, 2).Value = "服务器硬件";
  375. ws.Range(13, 2, 13, 4).Merge();
  376. ws.Range(13, 2, 13, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  377. ws.Cell(13, 5).Value = "联想";
  378. ws.Cell(13, 6).Value = 5;
  379. ws.Cell(13, 7).Value = "台";
  380. ws.Cell(13, 8).Value = 20000.00;
  381. ws.Cell(13, 9).Value = 100000.00;
  382. ws.Cell(13, 10).Value = "";//备注
  383. ws.Range(13, 10, 13, 12).Merge();
  384. ws.Range(13, 10, 13, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  385. ws.Cell(14, 1).Value = list.Count + 2;
  386. ws.Cell(14, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  387. ws.Cell(14, 2).Value = "数据库正版";
  388. ws.Range(14, 2, 14, 4).Merge();
  389. ws.Range(14, 2, 14, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  390. ws.Cell(14, 5).Value = "SQLServer";
  391. ws.Cell(14, 6).Value = 5;
  392. ws.Cell(14, 7).Value = "套";
  393. ws.Cell(14, 8).Value = 9998.00;
  394. ws.Cell(14, 9).Value = 49990.00;
  395. ws.Cell(14, 10).Value = "";//备注
  396. ws.Range(14, 10, 14, 12).Merge();
  397. ws.Range(14, 10, 14, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  398. ws.Cell(15, 1).Value = list.Count + 3;
  399. ws.Cell(15, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  400. ws.Cell(15, 2).Value = "服务费";
  401. ws.Range(15, 2, 15, 4).Merge();
  402. ws.Range(15, 2, 15, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  403. ws.Cell(15, 5).Value = "";
  404. ws.Cell(15, 6).Value = 1;
  405. ws.Cell(15, 7).Value = "年";
  406. ws.Cell(15, 8).Value = 80000.00;
  407. ws.Cell(15, 9).Value = 80000.00;
  408. ws.Cell(15, 10).Value = "";//备注
  409. ws.Range(15, 10, 15, 12).Merge();
  410. ws.Range(15, 10, 15, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  411. ws.Cell(16, 1).Value = list.Count + 4;
  412. ws.Cell(16, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
  413. ws.Cell(16, 2).Value = "差旅费用";
  414. ws.Range(16, 2, 16, 4).Merge();
  415. ws.Range(16, 2, 16, 4).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  416. ws.Cell(16, 5).Value = "";
  417. ws.Cell(16, 6).Value = 1;
  418. ws.Cell(16, 7).Value = "年";
  419. ws.Cell(16, 8).Value = 60000.00;
  420. ws.Cell(16, 9).Value = 60000.00;
  421. ws.Cell(16, 10).Value = "";//备注
  422. ws.Range(16, 10, 16, 12).Merge();
  423. ws.Range(16, 10, 16, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  424. ws.Cell("A17").Value = "币种:";
  425. ws.Cell("B17").Value = "人民币";
  426. ws.Cell("C17").Value = "总计:";
  427. ws.Cell("D17").Value = "343323.00";
  428. ws.Cell("A18").Value = "备注";
  429. ws.Cell("B18").Value = "";
  430. ws.Range(18, 2, 18, 12).Merge();
  431. ws.Range(18, 2, 18, 12).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Left;
  432. //表格添加边框
  433. //列
  434. //ws.Range(9, 1,16,1).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  435. //ws.Range(9, 1, 16, 1).Style.Border.LeftBorderColor = XLColor.Black;
  436. //ws.Range(9, 2, 16, 2).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  437. //ws.Range(9, 2, 16, 2).Style.Border.LeftBorderColor = XLColor.Black;
  438. //ws.Range(9, 5, 16, 5).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  439. //ws.Range(9, 5, 16, 5).Style.Border.LeftBorderColor = XLColor.Black;
  440. //ws.Range(9, 6, 16, 6).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  441. //ws.Range(9, 6, 16, 6).Style.Border.LeftBorderColor = XLColor.Black;
  442. //ws.Range(9, 7, 16, 7).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  443. //ws.Range(9, 7, 16, 7).Style.Border.LeftBorderColor = XLColor.Black;
  444. //ws.Range(9, 8, 16, 8).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  445. //ws.Range(9, 8, 16, 8).Style.Border.LeftBorderColor = XLColor.Black;
  446. //ws.Range(9, 9, 16, 9).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  447. //ws.Range(9, 9, 16, 9).Style.Border.LeftBorderColor = XLColor.Black;
  448. //ws.Range(9, 10, 16, 10).Style.Border.LeftBorder = XLBorderStyleValues.Hair;
  449. //ws.Range(9, 10, 16, 10).Style.Border.LeftBorderColor = XLColor.Black;
  450. //ws.Range(9, 12, 16, 12).Style.Border.RightBorder = XLBorderStyleValues.Hair;
  451. //ws.Range(9, 12, 16, 12).Style.Border.RightBorderColor = XLColor.Black;
  452. ////行
  453. //ws.Range(9, 1, 9, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  454. //ws.Range(9, 1, 9, 12).Style.Border.TopBorderColor = XLColor.Black;
  455. //ws.Range(10, 1, 10, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  456. //ws.Range(10, 1, 10, 12).Style.Border.TopBorderColor = XLColor.Black;
  457. //ws.Range(11, 1, 11, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  458. //ws.Range(11, 1, 11, 12).Style.Border.TopBorderColor = XLColor.Black;
  459. //ws.Range(12, 1, 12, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  460. //ws.Range(12, 1, 12, 12).Style.Border.TopBorderColor = XLColor.Black;
  461. //ws.Range(13, 1, 13, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  462. //ws.Range(13, 1, 13, 12).Style.Border.TopBorderColor = XLColor.Black;
  463. //ws.Range(14, 1, 14, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  464. //ws.Range(14, 1, 14, 12).Style.Border.TopBorderColor = XLColor.Black;
  465. //ws.Range(15, 1, 15, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  466. //ws.Range(15, 1, 15, 12).Style.Border.TopBorderColor = XLColor.Black;
  467. //ws.Range(16, 1, 16, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  468. //ws.Range(16, 1, 16, 12).Style.Border.TopBorderColor = XLColor.Black;
  469. //ws.Range(17, 1, 17, 12).Style.Border.TopBorder = XLBorderStyleValues.Hair;
  470. //ws.Range(17, 1, 17, 12).Style.Border.TopBorderColor = XLColor.Black;
  471. /////////
  472. var rngTable = ws.Range("A1:L1");
  473. var rngHeaders = rngTable.Range("A1:L1");
  474. ws.Row(1).Height = 20;
  475. rngHeaders.FirstCell().Style
  476. .Font.SetBold()
  477. .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
  478. rngHeaders.FirstRow().Merge();
  479. ws.Columns().AdjustToContents();
  480. var col1 = ws.Column("D");
  481. col1.Width = 15;
  482. MemoryStream ms = new MemoryStream();
  483. wb.SaveAs(ms);
  484. ms.Flush();
  485. ms.Position = 0;
  486. byte[] oByte = null;
  487. oByte = ms.ToArray();
  488. System.Web.HttpContext.Current.Response.Clear();
  489. System.Web.HttpContext.Current.Response.ClearHeaders();
  490. System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
  491. System.Web.HttpContext.Current.Response.ContentType = "application/vnd.ms-excel.sheet.binary.macroEnabled.12";
  492. System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + customerData.F_FullName + "报价单" + ".xlsx");
  493. System.Web.HttpContext.Current.Response.BinaryWrite(oByte);
  494. //清除缓存
  495. System.Web.HttpContext.Current.Response.Flush();
  496. System.Web.HttpContext.Current.Response.End();
  497. //关闭缓冲区
  498. ms.Close();
  499. }
  500. /// <summary>
  501. /// 导出pdf
  502. /// </summary>
  503. public void ExportPDF()
  504. {
  505. moduleExportIBLL.ExportPDF("<!DOCTYPE html><html><head></head><body><h1 align=\"center\"></h1><p align=\"center\">上海市浦东新区世纪大道108号</p><p align=\"center\">电话:021-8888888 传真:021-8888888 </p><h1 align=\"center\"> 报 价 单 </h1><p align=\"center\"> 公 司:捷敏电子 联系人:陈齐 </p><p align=\"center\">电 话:0592 - 88888886 传 真:0592 - 88888886 </p><p align=\"center\"> 邮 箱:捷敏电子 地 址:北京市海淀区西直门北大街42号 </p><p align=\"center\"> 报价人:捷敏电子 日 期:2016-05-23 11:18:29 </p><table align=\"center\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\"><tr><th>编号</th><th>品名</th><th>规格</th><th>数量</th><th>单位</th><th>单价</th><th>金额</th><th>备注</th></tr><tr align=\"center\"><td>1</td><td>敏捷开发框架-个人开发版</td><td>定制</td><td>1</td><td>套</td><td>11111</td><td>11111</td><td></td></tr><tr align=\"center\"><td>2</td><td>敏捷开发框架-个人尊享版</td><td>定制</td><td>1</td><td>套</td><td>22222</td><td>22222</td><td></td></tr><tr align=\"center\"><td>3</td><td>敏捷开发框架-企业旗舰版</td><td>定制</td><td>1</td><td>套</td><td>100000</td><td>100000</td><td></td></tr><tr align=\"center\"><td>4</td><td>服务器硬件</td><td>联想</td><td>5</td><td>台</td><td>20000.00</td><td>100000.00</td><td></td></tr><tr align=\"center\"><td>5</td><td>数据库正版</td><td>SQLServer</td><td>5</td><td>套</td><td>9998.00</td><td>49990.00</td><td></td></tr><tr align=\"center\"><td>6</td><td>服务费</td><td></td><td>1</td><td>年</td><td>80000.00</td><td>80000.00</td><td></td></tr><tr align=\"center\"><td>7</td><td>差旅费用</td><td></td><td>1</td><td>年</td><td>60000.00</td><td>80000.00</td><td></td></tr><tr align=\"center\"><td colspan=\"8\">币种:人民币 总计:323323.00</td></tr><tr><td>备注</td><td colspan=\"7\"></td></tr></table><p>日 期:</p><p>签 字:</p></body></html>");
  506. }
  507. #endregion
  508. }
  509. }