添加项目文件。
This commit is contained in:
@@ -0,0 +1,259 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using NPOI.HSSF.UserModel;
|
||||
using NPOI.SS.UserModel;
|
||||
using OfficeOpenXml;
|
||||
|
||||
namespace JY.Utility
|
||||
{
|
||||
public class OpenOfficeXML
|
||||
{
|
||||
/// <summary>
|
||||
/// EPPlusToExcel
|
||||
/// </summary>
|
||||
/// <param name="_D">数据集合</param>
|
||||
/// <param name="strFileName">Excel文件名</param>
|
||||
public static void Out_CeLiang(List<DataList> _D, string strFileName)
|
||||
{
|
||||
using (OfficeOpenXml.ExcelPackage package = new OfficeOpenXml.ExcelPackage(new FileInfo(strFileName)))
|
||||
{
|
||||
string TableName = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(TableName);
|
||||
#region 绘制列头
|
||||
worksheet.Cells[1, 1].Value = "不良项目";
|
||||
worksheet.Cells[1, 2].Value = "数量";
|
||||
//worksheet.Cells[1, 3].Value = "规格3";
|
||||
//worksheet.Cells[1, 4, 1, 5].Value = "合并单元格";
|
||||
//worksheet.Cells[1, 4, 1, 5].Merge = true;
|
||||
#endregion
|
||||
|
||||
#region 数据行
|
||||
int i = 1;
|
||||
foreach (DataList Item in _D)
|
||||
{
|
||||
worksheet.Cells[i + 1, 1].Value = Item.G1;
|
||||
worksheet.Cells[i + 1, 2].Value = Item.G2;
|
||||
//worksheet.Cells[i + 1, 3].Value = Item.G3;
|
||||
//worksheet.Cells[i + 1, 4, i + 1, 5].Value = Item.G4;
|
||||
//worksheet.Cells[i + 1, 4, i + 1, 5].Merge = true;
|
||||
i++;
|
||||
}
|
||||
#endregion
|
||||
|
||||
if (false == System.IO.Directory.Exists(System.AppDomain.CurrentDomain.BaseDirectory + @"Excel\"))
|
||||
System.IO.Directory.CreateDirectory(System.AppDomain.CurrentDomain.BaseDirectory + @"Excel\");
|
||||
package.Save();
|
||||
}
|
||||
}
|
||||
|
||||
public static void Out_TimeCeLiang(List<DataList> _D, string strFileName)
|
||||
{
|
||||
using (OfficeOpenXml.ExcelPackage package = new OfficeOpenXml.ExcelPackage(new FileInfo(strFileName)))
|
||||
{
|
||||
string TableName = DateTime.Now.ToString("yyyy-MM-dd");
|
||||
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add(TableName);
|
||||
#region 绘制列头
|
||||
worksheet.Cells[1, 1].Value = "不良项目";
|
||||
worksheet.Cells[1, 2].Value = "数量";
|
||||
//worksheet.Cells[1, 3].Value = "规格3";
|
||||
//worksheet.Cells[1, 4, 1, 5].Value = "合并单元格";
|
||||
//worksheet.Cells[1, 4, 1, 5].Merge = true;
|
||||
#endregion
|
||||
|
||||
#region 数据行
|
||||
int i = 1;
|
||||
foreach (DataList Item in _D)
|
||||
{
|
||||
worksheet.Cells[i + 1, 1].Value = Item.G1;
|
||||
worksheet.Cells[i + 1, 2].Value = Item.G2;
|
||||
//worksheet.Cells[i + 1, 3].Value = Item.G3;
|
||||
//worksheet.Cells[i + 1, 4, i + 1, 5].Value = Item.G4;
|
||||
//worksheet.Cells[i + 1, 4, i + 1, 5].Merge = true;
|
||||
i++;
|
||||
}
|
||||
#endregion
|
||||
|
||||
if (false == System.IO.Directory.Exists(System.AppDomain.CurrentDomain.BaseDirectory + @"Excel\"))
|
||||
System.IO.Directory.CreateDirectory(System.AppDomain.CurrentDomain.BaseDirectory + @"Excel\");
|
||||
package.Save();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ExportExcel(使用NPOI的方式)
|
||||
/// </summary>
|
||||
/// <param name="DT"></param>
|
||||
public static int ExportExcel(DataTable DT, string selectDate, ref string strErr)
|
||||
{
|
||||
strErr = "";
|
||||
try
|
||||
{
|
||||
if (DT == null & DT.Rows.Count <= 0)
|
||||
{
|
||||
strErr = "请先查询统计数据后再执行导出操作!";
|
||||
return 1;
|
||||
}
|
||||
|
||||
string strFilePath = "";
|
||||
HSSFWorkbook hssfworkbookDown;
|
||||
string modelExlPath = Application.StartupPath + "\\EmailTemplate\\Model.xls";
|
||||
if (File.Exists(modelExlPath) == false) //模板不存在
|
||||
{
|
||||
strErr = "程序根目录下EmailTemplate文件夹内找不到导出模板文件!";
|
||||
return 2;
|
||||
}
|
||||
|
||||
using (FileStream file = new FileStream(modelExlPath, FileMode.Open, FileAccess.Read))
|
||||
{
|
||||
hssfworkbookDown = new HSSFWorkbook(file);
|
||||
file.Close();
|
||||
}
|
||||
|
||||
WriterExcel(hssfworkbookDown, 0, DT);
|
||||
string filename = selectDate + ".xls";
|
||||
strFilePath = Application.StartupPath + "\\Temp\\TEEnrollmentForm";
|
||||
if (Directory.Exists(strFilePath) == false)
|
||||
{
|
||||
Directory.CreateDirectory(strFilePath);
|
||||
}
|
||||
|
||||
strFilePath = strFilePath + "\\\\" + filename;
|
||||
FileStream files = new FileStream(strFilePath, FileMode.Create);
|
||||
hssfworkbookDown.Write(files);
|
||||
files.Close();
|
||||
if (File.Exists(strFilePath) == false) //附件生成失败
|
||||
{
|
||||
strErr = "生成EXCEL文件失败";
|
||||
return 3;
|
||||
}
|
||||
strErr = strFilePath;
|
||||
return 4;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
strErr = ex.Message;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// WriterExcel
|
||||
/// </summary>
|
||||
/// <param name="hssfworkbookDown"></param>
|
||||
/// <param name="sheetIndex"></param>
|
||||
/// <param name="DT"></param>
|
||||
public static void WriterExcel(HSSFWorkbook hssfworkbookDown, int sheetIndex, DataTable DT)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
#region 设置单元格样式
|
||||
|
||||
//字体
|
||||
HSSFFont fontS9 = (HSSFFont)hssfworkbookDown.CreateFont();
|
||||
fontS9.FontName = "Arial";
|
||||
fontS9.FontHeightInPoints = 10;
|
||||
fontS9.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Normal;
|
||||
//表格
|
||||
ICellStyle TableS9 = (ICellStyle)hssfworkbookDown.CreateCellStyle();
|
||||
TableS9.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
|
||||
TableS9.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
|
||||
TableS9.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
|
||||
TableS9.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
|
||||
TableS9.WrapText = true;
|
||||
TableS9.SetFont(fontS9);
|
||||
|
||||
#endregion
|
||||
|
||||
HSSFSheet sheet = (HSSFSheet)hssfworkbookDown.GetSheetAt(sheetIndex);
|
||||
hssfworkbookDown.SetSheetHidden(sheetIndex, false);
|
||||
hssfworkbookDown.SetActiveSheet(sheetIndex);
|
||||
|
||||
int n = 2; //因为模板有表头,所以从第2行开始写
|
||||
for (int j = 0; j < DT.Columns.Count; j++)
|
||||
{
|
||||
HSSFRow dataRow = (HSSFRow)sheet.CreateRow(j + n);
|
||||
//string cv = DT.Columns[j].Caption;
|
||||
//string strDepID = DT.Rows[j]["序号"].ToString().Trim();
|
||||
//dataRow.CreateCell(0);
|
||||
//dataRow.Cells[0].SetCellValue(strDepID == "" ? DT.Rows[j]["日期"].ToString() : "");
|
||||
|
||||
dataRow.CreateCell(0);
|
||||
dataRow.Cells[0].SetCellValue(DT.Rows[j]["日期"].ToString());
|
||||
dataRow.CreateCell(1);
|
||||
dataRow.Cells[1].SetCellValue(DT.Rows[j]["班次"].ToString());
|
||||
dataRow.CreateCell(2);
|
||||
dataRow.Cells[2].SetCellValue(DT.Rows[j]["班别"].ToString());
|
||||
dataRow.CreateCell(3);
|
||||
dataRow.Cells[3].SetCellValue(DT.Rows[j]["工单号"].ToString());
|
||||
dataRow.CreateCell(4);
|
||||
dataRow.Cells[4].SetCellValue(DT.Rows[j]["客户名称"].ToString());
|
||||
dataRow.CreateCell(5);
|
||||
dataRow.Cells[5].SetCellValue(DT.Rows[j]["投入总数"].ToString());
|
||||
dataRow.CreateCell(6);
|
||||
dataRow.Cells[6].SetCellValue(DT.Rows[j]["良品总数"].ToString());
|
||||
dataRow.CreateCell(7);
|
||||
dataRow.Cells[7].SetCellValue(DT.Rows[j]["不良总数"].ToString());
|
||||
dataRow.CreateCell(8);
|
||||
dataRow.Cells[8].SetCellValue(DT.Rows[j]["不良率"].ToString());
|
||||
dataRow.CreateCell(9);
|
||||
dataRow.Cells[9].SetCellValue(DT.Rows[j]["质量缺陷"].ToString());
|
||||
dataRow.CreateCell(10);
|
||||
dataRow.Cells[10].SetCellValue(DT.Rows[j]["非质量缺陷"].ToString());
|
||||
dataRow.CreateCell(11);
|
||||
dataRow.Cells[11].SetCellValue(DT.Rows[j]["其他不良"].ToString());
|
||||
dataRow.CreateCell(12);
|
||||
dataRow.Cells[12].SetCellValue(DT.Rows[j]["侧面不良"].ToString());
|
||||
dataRow.CreateCell(13);
|
||||
dataRow.Cells[13].SetCellValue(DT.Rows[j]["正极不良"].ToString());
|
||||
dataRow.CreateCell(14);
|
||||
dataRow.Cells[14].SetCellValue(DT.Rows[j]["负极不良"].ToString());
|
||||
dataRow.CreateCell(15);
|
||||
dataRow.Cells[15].SetCellValue(DT.Rows[j]["重合不良"].ToString());
|
||||
dataRow.CreateCell(16);
|
||||
dataRow.Cells[16].SetCellValue(DT.Rows[j]["喷码不良"].ToString());
|
||||
dataRow.CreateCell(17);
|
||||
dataRow.Cells[17].SetCellValue(DT.Rows[j]["侧面凹坑鼓包、变形"].ToString());
|
||||
dataRow.CreateCell(18);
|
||||
dataRow.Cells[18].SetCellValue(DT.Rows[j]["侧面脏污漏液"].ToString());
|
||||
dataRow.CreateCell(19);
|
||||
dataRow.Cells[19].SetCellValue(DT.Rows[j]["侧面凸点、划痕、破皮、膜内异物"].ToString());
|
||||
dataRow.CreateCell(20);
|
||||
dataRow.Cells[20].SetCellValue(DT.Rows[j]["正极面垫不良多放、漏放"].ToString());
|
||||
dataRow.CreateCell(21);
|
||||
dataRow.Cells[21].SetCellValue(DT.Rows[j]["正极套膜不良含热缩不良、破损、褶皱、面垫翘起"].ToString());
|
||||
dataRow.CreateCell(22);
|
||||
dataRow.Cells[22].SetCellValue(DT.Rows[j]["正极套膜脏污"].ToString());
|
||||
dataRow.CreateCell(23);
|
||||
dataRow.Cells[23].SetCellValue(DT.Rows[j]["盖帽不良含漏液、盖帽脏污氧化生锈,划痕,变形"].ToString());
|
||||
dataRow.CreateCell(24);
|
||||
dataRow.Cells[24].SetCellValue(DT.Rows[j]["负极套膜尺寸不良"].ToString());
|
||||
dataRow.CreateCell(25);
|
||||
dataRow.Cells[25].SetCellValue(DT.Rows[j]["负极套膜不良含套膜褶皱变形、破损、褶皱"].ToString());
|
||||
dataRow.CreateCell(26);
|
||||
dataRow.Cells[26].SetCellValue(DT.Rows[j]["负极套膜脏污"].ToString());
|
||||
dataRow.CreateCell(27);
|
||||
dataRow.Cells[27].SetCellValue(DT.Rows[j]["底部不良含漏液、脏污、氧化生锈、划痕、变形"].ToString());
|
||||
dataRow.CreateCell(28);
|
||||
dataRow.Cells[28].SetCellValue(DT.Rows[j]["操作员"].ToString());
|
||||
|
||||
|
||||
//for (int i = 0; i <= 2; i++) //循环列,添加样式
|
||||
//{
|
||||
// dataRow.Cells[i].CellStyle = TableS9;
|
||||
//}
|
||||
}
|
||||
|
||||
//设定第一行,第一列的单元格选中
|
||||
sheet.SetActiveCell(0, 0);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//WriteLog(ex.ToString());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user