src/EasyFrameWork/DataTransfer/ExcelGenerator.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/* http://www.zkea.net/ 
 * Copyright (c) ZKEASOFT. All rights reserved. 
 * http://www.zkea.net/licenses */

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Spreadsheet;
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace Easy.DataTransfer
{
    public class ExcelGenerator : IDisposable
    {
        private MemoryStream memoryStream;
        private SheetData sheetData;
        private WorkbookPart workbookpart;
        private SpreadsheetDocument spreadsheetDocument;
        public ExcelGenerator()
        {
            memoryStream = new MemoryStream();
            spreadsheetDocument = SpreadsheetDocument.Create(memoryStream, SpreadsheetDocumentType.Workbook);
            workbookpart = spreadsheetDocument.AddWorkbookPart();
            workbookpart.Workbook = new Workbook();
            WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>();
            worksheetPart.Worksheet = new Worksheet(new SheetData());
            Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook.AppendChild(new Sheets());
            Sheet sheet = new Sheet() { Id = spreadsheetDocument.WorkbookPart.GetIdOfPart(worksheetPart), SheetId = 1, Name = "Sheet1" };
            sheets.Append(sheet);
            sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();
        }

        public void Dispose()
        {
            spreadsheetDocument.Dispose();
            memoryStream.Close();
            memoryStream.Dispose();
        }
        public void AddRow(Action<Row> newrow)
        {
            Row row = new Row();
            sheetData.Append(row);
            newrow(row);
        }
        public MemoryStream ToMemoryStream()
        {
            workbookpart.Workbook.Save();
            spreadsheetDocument.Close();
            memoryStream.Position = 0;
            return new MemoryStream(memoryStream.ToArray());
        }
    }
    public static class OpenXmlExt
    {
        public static void AppendCell(this Row row, string value)
        {
            Cell dataCell = new Cell();
后面还有 6 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。