添加项目文件。
This commit is contained in:
243
口罩泄露定制款/Excle/ExperData_ExcleHelper.cs
Normal file
243
口罩泄露定制款/Excle/ExperData_ExcleHelper.cs
Normal file
@@ -0,0 +1,243 @@
|
||||
using OfficeOpenXml;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace 口罩泄露定制款.Excle
|
||||
{
|
||||
internal class ExperData_ExcleHelper
|
||||
{
|
||||
public void ExportToExcel(List<List<float>> data, List<string> timeList)
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
// 创建 Excel 包
|
||||
using (var package = new ExcelPackage())
|
||||
{
|
||||
|
||||
|
||||
|
||||
// 添加一个工作表
|
||||
var worksheet = package.Workbook.Worksheets.Add("Sheet1");
|
||||
|
||||
// 定义表头
|
||||
string[] headers = {"时间",
|
||||
"室内气溶胶浓度", "口罩内气溶胶浓度", "泄露率",
|
||||
"室内CO2浓度", "口罩内CO2浓度", "室内氧浓度", "室内温度", "室内湿度"
|
||||
};
|
||||
|
||||
// 写入表头
|
||||
for (int col = 0; col < headers.Length; col++)
|
||||
{
|
||||
worksheet.Cells[1, col + 1].Value = headers[col]; // 表头从第一行开始
|
||||
}
|
||||
//
|
||||
for (int i = 0; i < timeList.Count; i++)
|
||||
{
|
||||
worksheet.Cells[i + 2, 1].Value = timeList[i]; // 时间从第二行开始
|
||||
}
|
||||
|
||||
// 写入数据(从第二行开始)
|
||||
for (int col = 0; col < data.Count; col++)
|
||||
{
|
||||
List<float> columnData = data[col]; // 获取当前列的数据
|
||||
|
||||
for (int row = 0; row < columnData.Count; row++)
|
||||
{
|
||||
worksheet.Cells[row + 2, col + 2].Value = columnData[row]; // 数据从第二行开始
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 保存 Excel 文件
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog
|
||||
{
|
||||
Filter = "Excel Files|*.xlsx",
|
||||
Title = "保存 Excel 文件"
|
||||
};
|
||||
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(saveFileDialog.FileName);
|
||||
package.SaveAs(fileInfo);
|
||||
MessageBox.Show("数据导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//public void ExportToExcel(List<List<List<float>>> data, List<List<string>> timeList, DataTable dataTable)
|
||||
//{
|
||||
// ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
// // 创建 Excel 包
|
||||
// using (var package = new ExcelPackage())
|
||||
// {
|
||||
// // 添加一个工作表
|
||||
// var worksheet1 = package.Workbook.Worksheets.Add("实验数据");
|
||||
|
||||
// // 写入表头
|
||||
// for (int col = 0; col < dataTable.Columns.Count; col++)
|
||||
// {
|
||||
// worksheet1.Cells[1, col + 1].Value = dataTable.Columns[col].ColumnName; // 表头从第一行开始
|
||||
// }
|
||||
|
||||
// // 写入数据
|
||||
// for (int row = 0; row < dataTable.Rows.Count; row++)
|
||||
// {
|
||||
// for (int col = 0; col < dataTable.Columns.Count; col++)
|
||||
// {
|
||||
// worksheet1.Cells[row + 2, col + 1].Value = dataTable.Rows[row][col]; // 数据从第二行开始
|
||||
// }
|
||||
// }
|
||||
|
||||
// // 遍历每个 List<List<float>>,生成一个 Sheet
|
||||
// for (int sheetIndex = 0; sheetIndex < data.Count; sheetIndex++)
|
||||
// {
|
||||
// // 添加一个工作表,命名为 1, 2, 3, ...
|
||||
// var worksheet = package.Workbook.Worksheets.Add((sheetIndex + 1).ToString());
|
||||
// // 定义表头
|
||||
// string[] headers = {"时间",
|
||||
// "室内气溶胶浓度", "口罩内气溶胶浓度", "泄露率",
|
||||
// "室内CO2浓度", "口罩内CO2浓度", "室内氧浓度", "室内温度", "室内湿度"
|
||||
// };
|
||||
// // 写入表头
|
||||
// for (int col = 0; col < headers.Length; col++)
|
||||
// {
|
||||
// worksheet.Cells[1, col + 1].Value = headers[col]; // 表头从第一行开始
|
||||
// }
|
||||
|
||||
// for (int i = 0; i < timeList.Count; i++)
|
||||
// {
|
||||
// List<string> timeList_Each = timeList[i]; // 获取当前列的数据
|
||||
// for (int j = 0; j < timeList_Each.Count; j++)
|
||||
// {
|
||||
// worksheet.Cells[j + 2, 1].Value = timeList_Each[j]; // 时间从第二行开始
|
||||
// }
|
||||
|
||||
// }
|
||||
// // 获取当前 Sheet 的数据
|
||||
// List<List<float>> sheetData = data[sheetIndex];
|
||||
|
||||
// // 写入数据
|
||||
// for (int row = 0; row < sheetData.Count; row++)
|
||||
// {
|
||||
// for (int col = 0; col < sheetData[row].Count; col++)
|
||||
// {
|
||||
// worksheet.Cells[row + 1, col + 2].Value = sheetData[row][col]; // 数据从第一行第一列开始
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// // 保存 Excel 文件
|
||||
// SaveFileDialog saveFileDialog = new SaveFileDialog
|
||||
// {
|
||||
// Filter = "Excel Files|*.xlsx",
|
||||
// Title = "保存 Excel 文件"
|
||||
// };
|
||||
|
||||
// if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
// {
|
||||
// FileInfo fileInfo = new FileInfo(saveFileDialog.FileName);
|
||||
// package.SaveAs(fileInfo);
|
||||
// MessageBox.Show("数据导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
// }
|
||||
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 所有实验数据导出EXCLE
|
||||
/// </summary>
|
||||
/// <param name="dataTable"></param>
|
||||
/// <param name="stringData"></param>
|
||||
/// <param name="floatData"></param>
|
||||
public void ExportToExcel(DataTable dataTable, List<List<string>> stringData, List<List<List<float>>> floatData)
|
||||
{
|
||||
// 创建 Excel 包
|
||||
using (var package = new ExcelPackage())
|
||||
{
|
||||
// 1. 将 DataTable 数据导入第一个工作表
|
||||
var firstWorksheet = package.Workbook.Worksheets.Add("DataTable");
|
||||
|
||||
// 写入表头
|
||||
for (int col = 0; col < dataTable.Columns.Count; col++)
|
||||
{
|
||||
firstWorksheet.Cells[1, col + 1].Value = dataTable.Columns[col].ColumnName;
|
||||
}
|
||||
|
||||
// 写入数据
|
||||
for (int row = 0; row < dataTable.Rows.Count; row++)
|
||||
{
|
||||
for (int col = 0; col < dataTable.Columns.Count; col++)
|
||||
{
|
||||
firstWorksheet.Cells[row + 2, col + 1].Value = dataTable.Rows[row][col];
|
||||
}
|
||||
}
|
||||
|
||||
// 2. 根据 List<List<string>> 的 Count 生成同等数量的工作表
|
||||
for (int sheetIndex = 0; sheetIndex < stringData.Count; sheetIndex++)
|
||||
{
|
||||
// 添加工作表,命名为 1, 2, 3, ...
|
||||
var worksheet = package.Workbook.Worksheets.Add((sheetIndex + 1).ToString());
|
||||
//"姓名","性别","年龄","身份证号码","工作单位","工龄",
|
||||
// 定义表头
|
||||
string[] headers = {
|
||||
"时间", "室内气溶胶浓度", "口罩内气溶胶浓度", "泄露率",
|
||||
"室内CO2浓度", "口罩内CO2浓度", "室内氧浓度", "室内温度", "室内湿度"
|
||||
};
|
||||
|
||||
// 写入表头
|
||||
for (int col = 0; col < headers.Length; col++)
|
||||
{
|
||||
worksheet.Cells[1, col + 1].Value = headers[col];
|
||||
}
|
||||
|
||||
// 获取当前 Sheet 的字符串数据和浮点数数据
|
||||
List<string> currentStringData = stringData[sheetIndex];
|
||||
List<List<float>> currentFloatData = floatData[sheetIndex];
|
||||
|
||||
// 写入 List<List<string>> 数据到第一列
|
||||
for (int row = 0; row < currentStringData.Count; row++)
|
||||
{
|
||||
worksheet.Cells[row + 2, 1].Value = currentStringData[row];
|
||||
}
|
||||
|
||||
// 写入 List<List<List<float>>> 数据到第二列开始
|
||||
|
||||
// 写入数据(从第二行开始)
|
||||
for (int col = 0; col < currentFloatData.Count; col++)
|
||||
{
|
||||
List<float> columnData = currentFloatData[col]; // 获取当前列的数据
|
||||
|
||||
for (int row = 0; row < columnData.Count; row++)
|
||||
{
|
||||
worksheet.Cells[row + 2, col + 2].Value = columnData[row]; // 数据从第二行开始
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 保存 Excel 文件
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog
|
||||
{
|
||||
Filter = "Excel Files|*.xlsx",
|
||||
Title = "保存 Excel 文件"
|
||||
};
|
||||
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(saveFileDialog.FileName);
|
||||
package.SaveAs(fileInfo);
|
||||
MessageBox.Show("数据导出成功!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//将excle数据导出到datatable
|
||||
|
||||
}
|
||||
}
|
||||
159
口罩泄露定制款/Excle/UserExcleHelper.cs
Normal file
159
口罩泄露定制款/Excle/UserExcleHelper.cs
Normal file
@@ -0,0 +1,159 @@
|
||||
using OfficeOpenXml;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace 口罩泄露定制款.Excle
|
||||
{
|
||||
internal class UserExcleHelper
|
||||
{ //文件路径
|
||||
static string path = Application.StartupPath + @"\UserExcleHelper.xlsx";
|
||||
//向表格中写入用户数据
|
||||
public void WriteData(string username, string password, string quanxian)
|
||||
{
|
||||
bool isHave = false;
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
//创建Excel对象
|
||||
ExcelPackage package = new ExcelPackage(new System.IO.FileInfo(path));
|
||||
// 获取第一个工作表,如果不存在则创建
|
||||
ExcelWorksheet worksheet;
|
||||
if (package.Workbook.Worksheets.Count == 0)
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets.Add("用户表");
|
||||
worksheet.Cells[1, 1].Value = "用户名";
|
||||
worksheet.Cells[1, 2].Value = "密码";
|
||||
worksheet.Cells[1, 3].Value = "用户权限";
|
||||
worksheet.Cells[2, 1].Value = "admin";
|
||||
worksheet.Cells[2, 2].Value = "admin123456";
|
||||
worksheet.Cells[2, 3].Value = "管理员";
|
||||
}
|
||||
else
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets[0];
|
||||
}
|
||||
//判断用户名是否存在
|
||||
for (int i = 2; i <= worksheet.Dimension.Rows; i++)
|
||||
{
|
||||
if (worksheet.Cells[i, 1].Value.ToString() == username)
|
||||
{
|
||||
isHave = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (isHave)
|
||||
{
|
||||
MessageBox.Show("用户名已存在!");
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
int row = worksheet.Dimension.Rows + 1;
|
||||
worksheet.Cells[row, 1].Value = username;
|
||||
worksheet.Cells[row, 2].Value = password;
|
||||
worksheet.Cells[row, 3].Value = quanxian;
|
||||
//保存并关闭文件
|
||||
package.Save();
|
||||
}
|
||||
|
||||
}
|
||||
//读取表格用户名数据
|
||||
public List<string> ReadUserNameData()
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
//创建Excel对象
|
||||
ExcelPackage package = new ExcelPackage(new System.IO.FileInfo(path));
|
||||
// 获取第一个工作表,如果不存在则创建
|
||||
ExcelWorksheet worksheet;
|
||||
if (package.Workbook.Worksheets.Count == 0)
|
||||
{
|
||||
// WriteData("","","");
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets[0];
|
||||
}
|
||||
List<string> list = new List<string>();
|
||||
for (int i = 2; i <= worksheet.Dimension.Rows; i++)
|
||||
{
|
||||
list.Add(worksheet.Cells[i, 1].Value.ToString());
|
||||
}
|
||||
return list;
|
||||
}
|
||||
//读取所有单元格信息并存放在datatable中
|
||||
public DataTable ReadUserData()
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
//创建Excel对象
|
||||
ExcelPackage package = new ExcelPackage(new System.IO.FileInfo(path));
|
||||
// 获取第一个工作表,如果不存在则创建
|
||||
ExcelWorksheet worksheet;
|
||||
if (package.Workbook.Worksheets.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets[0];
|
||||
}
|
||||
DataTable dt = new DataTable();
|
||||
dt.Columns.Add("用户名");
|
||||
dt.Columns.Add("密码");
|
||||
dt.Columns.Add("用户权限");
|
||||
for (int i = 2; i <= worksheet.Dimension.Rows; i++)
|
||||
{
|
||||
DataRow dr = dt.NewRow();
|
||||
dr["用户名"] = worksheet.Cells[i, 1].Value.ToString();
|
||||
dr["密码"] = worksheet.Cells[i, 2].Value.ToString();
|
||||
dr["用户权限"] = worksheet.Cells[i, 3].Value.ToString();
|
||||
dt.Rows.Add(dr);
|
||||
}
|
||||
return dt;
|
||||
}
|
||||
//修改用户信息
|
||||
public void UpdateUserData(int index, string username, string password, string quanxian)
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
//创建Excel对象
|
||||
ExcelPackage package = new ExcelPackage(new System.IO.FileInfo(path));
|
||||
// 获取第一个工作表,如果不存在则创建
|
||||
ExcelWorksheet worksheet;
|
||||
if (package.Workbook.Worksheets.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets[0];
|
||||
}
|
||||
|
||||
worksheet.Cells[index, 1].Value = username;
|
||||
worksheet.Cells[index, 2].Value = password;
|
||||
worksheet.Cells[index, 3].Value = quanxian;
|
||||
|
||||
//保存并关闭文件
|
||||
package.Save();
|
||||
}
|
||||
//删除用户信息
|
||||
public void DeleteUserData(int index)
|
||||
{
|
||||
ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
|
||||
//创建Excel对象
|
||||
ExcelPackage package = new ExcelPackage(new System.IO.FileInfo(path));
|
||||
// 获取第一个工作表,如果不存在则创建
|
||||
ExcelWorksheet worksheet;
|
||||
if (package.Workbook.Worksheets.Count == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
worksheet = package.Workbook.Worksheets[0];
|
||||
}
|
||||
//删除指定行
|
||||
worksheet.DeleteRow(index);
|
||||
//保存并关闭文件
|
||||
package.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user