重要代码:

  1. DOS.SheetData sheetData = new DOS.SheetData();
  2.  
  3. DOS.Columns columns = new DOS.Columns();
  4. DOS.Column column = null;
  5. uint min = ;
  6.  
  7. for (int ind = ; ind <= ; ind += )
  8. {
  9. if (ind < )
  10. continue;
  11. column = columns.AppendChild<DOS.Column>(new DOS.Column());
  12.  
  13. if (ind - <= )
  14. {
  15. min = ;
  16. }
  17. else
  18. {
  19. min = (uint)ind - ;
  20. }
  21. column.Min = new DOX.UInt32Value(min);
  22. uint max = (uint)ind - ;
  23. if (max <= )
  24. max = ;
  25. column.Max = new DOX.UInt32Value(max);
  26. column.OutlineLevel = ;
  27. }
  28.  
  29. DOS.Worksheet worksheet = worksheetPart.Worksheet = new DOS.Worksheet(columns,sheetData);

如果存在多个列组合,列组合之间的列不能连续,否则认为是一个列组合

完整代码:

  1. /// <summary>
  2. /// 列组
  3. /// </summary>
  4. /// <param name="fileName"></param>
  5. /// <param name="sheetName"></param>
  6. public static void CreateColumnGroup(string fileName,string sheetName)
  7. {
  8. using (pkg.SpreadsheetDocument document = pkg.SpreadsheetDocument.Create(fileName, DOX.SpreadsheetDocumentType.Workbook))
  9. {
  10. pkg.WorkbookPart workbookPart = document.AddWorkbookPart();
  11. DOS.Workbook workbook = workbookPart.Workbook = new DOS.Workbook();
  12.  
  13. pkg.SharedStringTablePart sharedStringTablePart = workbookPart.AddNewPart<pkg.SharedStringTablePart>();
  14.  
  15. pkg.WorksheetPart worksheetPart = workbookPart.AddNewPart<pkg.WorksheetPart>();
  16. DOS.SheetData sheetData = new DOS.SheetData();
  17.  
  18. DOS.Columns columns = new DOS.Columns();
  19. DOS.Column column = null;
  20. uint min = ;
  21.  
  22. for (int ind = ; ind <= ; ind += )
  23. {
  24. if (ind < )
  25. continue;
  26. column = columns.AppendChild<DOS.Column>(new DOS.Column());
  27.  
  28. if (ind - <= )
  29. {
  30. min = ;
  31. }
  32. else
  33. {
  34. min = (uint)ind - ;
  35. }
  36. column.Min = new DOX.UInt32Value(min);
  37. uint max = (uint)ind - ;
  38. if (max <= )
  39. max = ;
  40. column.Max = new DOX.UInt32Value(max);
  41. column.OutlineLevel = ;
  42. }
  43.  
  44. DOS.Worksheet worksheet = worksheetPart.Worksheet = new DOS.Worksheet(columns,sheetData);
  45.  
  46. DOS.Sheets sheets = document.WorkbookPart.Workbook.AppendChild<DOS.Sheets>(new DOS.Sheets());
  47.  
  48. DOS.Sheet sheet = new DOS.Sheet()
  49. {
  50. Id = workbookPart.GetIdOfPart(worksheetPart),
  51. SheetId = ,
  52. Name = sheetName
  53. };
  54. sheets.Append(sheet);
  55.  
  56. DOS.Row row;
  57.  
  58. for (uint rowIndex = ; rowIndex < ; rowIndex++)
  59. {
  60. row = new DOS.Row()
  61. {
  62. RowIndex = new DOX.UInt32Value(rowIndex)
  63. };
  64.  
  65. sheetData.Append(row);
  66.  
  67. Random random = null;
  68.  
  69. DOS.Cell cell = null;
  70. for(int colindex=;colindex<=;colindex++)
  71. {
  72. random = new Random((int)DateTime.Now.Millisecond * (int)rowIndex);
  73. string text = random.Next(, ).ToString();
  74.  
  75. int textIndex = InsertSharedStringItem(text, sharedStringTablePart);
  76.  
  77. cell = new DOS.Cell()
  78. {
  79. CellReference = colindex.ToExcelName() + rowIndex.ToString(),
  80. CellValue = new DOS.CellValue(textIndex.ToString())
  81. };
  82. cell.DataType = new DOX.EnumValue<DOS.CellValues>(DOS.CellValues.SharedString);
  83. row.AppendChild(cell);
  84. }
  85.  
  86. }
  87.  
  88. worksheet.Save();
  89.  
  90. }
  91. }

openXML写Excel列组合的更多相关文章

  1. openXML设置Excel行组合

    重要代码: row = new DOS.Row() { RowIndex = new DOX.UInt32Value(rowIndex), Spans = new DOX.ListValue<D ...

  2. 使用OpenXML将Excel内容读取到DataTable中

    前言:前面的几篇文章简单的介绍了如何使用OpenXML创建Excel文档.由于在平时的工作中需要经常使用到Excel的读写操作,简单的介绍下使用 OpenXML读取Excel中得数据.当然使用Open ...

  3. java 写 Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  4. Pandas 基础(4) - 读/写 Excel 和 CSV 文件

    这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...

  5. python读、写、修改、追写excel文件

    三个工具包 python操作excel的三个工具包如下 xlrd: 对excel进行读相关操作 xlwt: 对excel进行写相关操作 xlutils: 对excel读写操作的整合 注意,只能操作.x ...

  6. Python3 读、写Excel文件

    首先,简单介绍一下EXECL中工作簿和工作表的区别: 工作簿的英文是BOOK(WORKBOOK),工作表的英文是SHEET(WORKSHEET). 一个工作簿就是一个独立的文件 一个工作簿里面可以有1 ...

  7. C# 读带复选框的excel,写excel并设置字体、边框、背景色

    这是一篇excel读写功能大汇总,通过C#调用Microsoft.Office.Interop.Excel.dll才能完成任何复杂格式excel的读写操作. 本文需要读取的excel格式如下: 可见表 ...

  8. 在Delphi中通过OLE方式写Excel文件

    报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...

  9. 写excel

    一.写excel import xlwt book = xlwt.Workbook()# 创建excel sheet = book.add_sheet('stu_info')# 加一个sheet sh ...

随机推荐

  1. 文件下载Controller,文件夹内容监听,文件上传,运行程序通过url实现文件下载

    文件下载Controller @RequestMapping("/fileDownLoad") public ResponseEntity<byte[]> fileDo ...

  2. vue_element_vue 引入路径@

    build/webpack.base.conf.js resolve: { extensions: ['.js', '.vue', '.json'], alias: { '@': resolve('s ...

  3. Tensorflow学习笔记2019.01.22

    tensorflow学习笔记2 edit by Strangewx 2019.01.04 4.1 机器学习基础 4.1.1 一般结构: 初始化模型参数:通常随机赋值,简单模型赋值0 训练数据:一般打乱 ...

  4. Linux命令面试集

    Linux:免费开源,多用户多任务,衍生出很多附属版本,例如常用的RedHat... 常用指令 ls        显示文件或目录 -l           列出文件详细信息l(list) -a   ...

  5. Hillstone目的地址转换DNAT配置

    目的地址映射主要用于将内网的服务器对外进行发布(如http服务,ftp服务,数据库服务等),使外网用户能够通过外网地址访问需要发布的服务. 常用的DNAT映射有一对一IP映射,一对一端口映射,多对多端 ...

  6. [leetcode]68. Text Justification文字对齐

    Given an array of words and a width maxWidth, format the text such that each line has exactly maxWid ...

  7. 2018-2019-2 20165315 《网络对抗技术》Exp2+ 后门进阶

    2018-2019-2 20165315 <网络对抗技术>Exp2+ 后门进阶 一.实验要求 以下三个课题三选一 1.其他专用后门工具研究(CROSSRAT ...) 2.恶意代码绑定技术 ...

  8. .gitinore配置失效问题

    问题:在.gitinore中配置忽略项,配置失效 原因:新增加忽略项已经提交过,在暂存区或分支上被版本控制 解决:删除暂存区或分支上的文件(本地需要使用, 只是不希望这个文件被版本控制), 可以使用 ...

  9. Oracle 数据库中对记录进行分页处理

    学习到 oracle 的视图的时候,了解到对 Oracle 中数据的记录进行分页处理和 Mysql 提供的 limit 来进行分页处理大有不同,limit 是 mysql 中特有的关键字. 那么在 o ...

  10. 爬取qq号

    import reimport urllib.requestimport osimport jsonimport sslfrom collections import deque #把爬去的数据保存到 ...