WaiXie_QuestionSystem/Assets/Script/Excel/ExcelManager.cs

68 lines
2.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using OfficeOpenXml;
using Script.UI;
using UnityEngine;
using UnityEngine.UI;
using ZXL.Excel;
using ZXL.ID;
public class ExcelManager : SingleManager<ExcelManager>
{
private Player_Data _playerData;
private GroupData_Data _groupData;
public List<string> GetAllPlayerID => _playerData.GetAllID();
public Player_DataInfo GetPlayerInfo => _playerData.GetAndRemove();
public GroupData_DataInfo GetGroupInfoA => _groupData.GetA();
public GroupData_DataInfo GetGroupInfoB => _groupData.GetB();
public GroupData_DataInfo GetGroupRandomInfo => _groupData.RandomGet();
public ExcelManager()
{
var payerData = ReadExcel.SelectPlayerTable("PlayerData");
_playerData = new Player_Data(payerData);
var groupDataData = ReadExcel.SelectGroupTable("GroupData");
_groupData = new GroupData_Data(groupDataData);
Debug.Log("excel data load finish !!");
}
#region 存入内容并导出Excel文件
public void SaveAndExp(SaveExcelData data)
{
string path = Application.streamingAssetsPath + "/程序输出数据" + DateTime.Now.Ticks + ".xlsx";
FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
using (var pck = new ExcelPackage(fs))
{
var sheet = pck.Workbook.Worksheets.Add("Sheet1");
for (int i = 0; i < data.hands.Length; i++)
{
sheet.SetValue(1, i + 2, data.hands[i]);
}
for (var i = 0; i < data.infos.Count; i++)
{
for (var j = 0; j < data.infos[i].strings.Length; j++)
{
//第0行、列留白
// sheet.Cells[i + 2, j + 2].Value = data.infos[i].strings[j];
sheet.SetValue(i + 2, j + 2, data.infos[i].strings[j]);
}
}
pck.Save();
}
fs.Dispose();
}
#endregion
}