loseUserDataTransfer.cs 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using NPOI.HSSF.UserModel;
  7. using System.IO;
  8. using StackExchange.Redis;
  9. //using System.Threading;
  10. //using System.Data;
  11. using CSharpUtil;
  12. //using Newtonsoft.Json;
  13. //using Newtonsoft.Json.Linq;
  14. //using System.Diagnostics;
  15. namespace DataTransfer.tongji
  16. {
  17. class loseUserDataTransfer
  18. {
  19. public static void excelText111()
  20. {
  21. //导出:将数据库中的数据,存储到一个excel中
  22. //1、查询数据库数据
  23. User user1 = new User() { Id = 1, Name = "小明", pwd = "123123", type = "学生" };
  24. User user2 = new User() { Id = 2, Name = "小红", pwd = "123123", type = "学生" };
  25. User user3 = new User() { Id = 3, Name = "小绿", pwd = "123123", type = "学生" };
  26. User user4 = new User() { Id = 4, Name = "小白", pwd = "123123", type = "老师" };
  27. User user5 = new User() { Id = 5, Name = "小黑", pwd = "123123", type = "老师" };
  28. User user6 = new User() { Id = 6, Name = "小蓝", pwd = "123123", type = "老师" };
  29. List<User> list = new List<User>();
  30. list.Add(user1);
  31. list.Add(user2);
  32. list.Add(user3);
  33. list.Add(user4);
  34. list.Add(user5);
  35. list.Add(user6);
  36. //2、 生成excel
  37. //2_1、生成workbook
  38. //2_2、生成sheet
  39. //2_3、遍历集合,生成行
  40. //2_4、根据对象生成单元格
  41. HSSFWorkbook workbook = new HSSFWorkbook();
  42. //创建工作表
  43. var sheet = workbook.CreateSheet("信息表");
  44. //创建标题行(重点) 从0行开始写入
  45. var row = sheet.CreateRow(0);
  46. //创建单元格
  47. var cellid = row.CreateCell(0);
  48. cellid.SetCellValue("编号");
  49. var cellname = row.CreateCell(1);
  50. cellname.SetCellValue("用户名");
  51. var cellpwd = row.CreateCell(2);
  52. cellpwd.SetCellValue("密码");
  53. var celltype = row.CreateCell(3);
  54. celltype.SetCellValue("类型");
  55. //遍历集合,生成行
  56. int index = 1; //从1行开始写入
  57. for (int i = 0; i < list.Count; i++)
  58. {
  59. int x = index + i;
  60. var rowi = sheet.CreateRow(x);
  61. var id = rowi.CreateCell(0);
  62. id.SetCellValue(list[i].Id);
  63. var name = rowi.CreateCell(1);
  64. name.SetCellValue(list[i].Name);
  65. var pwd = rowi.CreateCell(2);
  66. pwd.SetCellValue(list[i].pwd);
  67. var type = rowi.CreateCell(3);
  68. type.SetCellValue(list[i].type);
  69. }
  70. FileStream file = new FileStream(@"F:\excel\信息表.xls", FileMode.CreateNew, FileAccess.Write);
  71. workbook.Write(file);
  72. file.Dispose();
  73. }
  74. public static void excelText(string memKey,int retain,int zoneid,float day)
  75. {
  76. //获取redis种的数据
  77. var mem = Redis.Ins.GetDatabase(0);
  78. HashEntry[] ctxList = mem.HashGetAll(memKey);
  79. int length = ctxList.Length;
  80. if (length <= 0)
  81. {
  82. return;
  83. }
  84. HSSFWorkbook workbook = new HSSFWorkbook();
  85. //创建工作表
  86. var sheet = workbook.CreateSheet("信息表");
  87. var row = sheet.CreateRow(0);
  88. //创建单元格
  89. var cellid = row.CreateCell(0);
  90. cellid.SetCellValue("指标类型");
  91. var cellname = row.CreateCell(1);
  92. cellname.SetCellValue("指标id");
  93. var cellpwd = row.CreateCell(2);
  94. cellpwd.SetCellValue("指标累计值");
  95. int x = 1;
  96. foreach (var item in ctxList)
  97. {
  98. string[] sList = item.ToString().Split(':');
  99. string type = sList[0];
  100. int num = int.Parse(sList[1]);
  101. string[] ctx = type.Split('-');
  102. string name = ctx[0];
  103. int id = int.Parse(ctx[1]);
  104. var rowi = sheet.CreateRow(x);
  105. var cname = rowi.CreateCell(0);
  106. cname.SetCellValue(name);
  107. var cid = rowi.CreateCell(1);
  108. cid.SetCellValue(id);
  109. var cnum = rowi.CreateCell(2);
  110. cnum.SetCellValue(num);
  111. x += 1;
  112. }
  113. string txtName = "流失玩家指标累计信息表_" +"zone"+zoneid+"_"+retain+"retaine_" + day;
  114. FileStream file = new FileStream(@"F:\excel\"+txtName+".xls", FileMode.CreateNew, FileAccess.Write);
  115. workbook.Write(file);
  116. file.Dispose();
  117. }
  118. }
  119. public class User
  120. {
  121. /// <summary>
  122. /// 索引
  123. /// </summary>
  124. public int Id { get; set; }
  125. public string Name { get; set; }
  126. public string pwd { get; set; }
  127. public string type { get; set; }
  128. }
  129. public class Model
  130. {
  131. /// <summary>
  132. /// 索引
  133. /// </summary>
  134. public int Id { get; set; }
  135. public string Name { get; set; }
  136. public int pwd { get; set; }
  137. public string type { get; set; }
  138. }
  139. }