导出excel
private bool ExportDetial(IList<ArchivesInfo> pArchiveInfos, ref string pErrInfo)
{
bool pFlagOk;
try
{
//获取一个excel对象
var myExcel = new Microsoft.Office.Interop.Excel.Application();
myExcel.Application.Workbooks.Add(true);
Workbook myBook = myExcel.Workbooks[1]; //工作薄
//获取excel表单
var mySheet = (Worksheet)myBook.ActiveSheet; //工作区
myExcel.Visible = true;
mySheet.Cells.Select();
//开始画表格,为当前位置设置样式
Range excelRange = mySheet.Range[mySheet.Cells[1, 1], mySheet.Cells[1, 7]];
excelRange.NumberFormatLocal = "@";
//文本水平居中
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
//垂直居中
// excelRange.VerticalAlignment = XlHAlign.xlHAlignCenter;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
//设置文本
mySheet.Cells[1, 2] = "档案位置清单";
//合并单元格
excelRange.Merge(excelRange.MergeCells);
mySheet.get_Range("A1", "G1").Merge(mySheet.get_Range("A1", "G1").MergeCells);
excelRange = mySheet.Range[mySheet.Cells[1, 2], mySheet.Cells[1, 1]];
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
//设置字体样式
excelRange.Font.Size = 16;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 1], mySheet.Cells[3, 1]];
excelRange.NumberFormatLocal = "@";
//设置宽度
excelRange.ColumnWidth = 8;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[2, 2], mySheet.Cells[2, 2]];
excelRange.NumberFormatLocal = "@";
excelRange.Font.Size = 14;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange.Merge(excelRange.MergeCells);
mySheet.get_Range("B2", "G2").Merge(mySheet.get_Range("B2", "G2").MergeCells);
//excelRange = mySheet.Range[mySheet.Cells[2, 4], mySheet.Cells[2, 4]];
//excelRange.NumberFormatLocal = "@";
//excelRange.Font.Size = 14;
//excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
//excelRange.Font.Bold = true;
//excelRange.Merge(excelRange.MergeCells);
//mySheet.get_Range("D2", "F2").Merge(mySheet.get_Range("D2", "F2").MergeCells);
excelRange = mySheet.Range[mySheet.Cells[3, 2], mySheet.Cells[3, 2]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 45;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 3], mySheet.Cells[3, 3]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 4], mySheet.Cells[3, 4]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 5], mySheet.Cells[3, 5]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 6], mySheet.Cells[3, 6]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[3, 7], mySheet.Cells[3, 7]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 35;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
mySheet.Cells[2, 2] = " 打印人:" + Common.gUserInfo.RealName.Trim() + " " + "打印时间:"+DateTime.Now.ToString();
mySheet.Cells[3, 1] = "序号";
mySheet.Cells[3, 2] = "企业信息";
mySheet.Cells[3, 3] = "核准日期";
mySheet.Cells[3, 4] = "档案类型";
mySheet.Cells[3, 5] = "卷条码";
mySheet.Cells[3, 6] = "盒条码";
mySheet.Cells[3, 7] = "库存位置";
var list = pArchiveInfos.Where(p => p.PositionBarcode != null).OrderBy(p => p.PositionBarcode);
int i = 0;
foreach (ArchivesInfo item in list)
{
excelRange = mySheet.Range[mySheet.Cells[i + 4, 1], mySheet.Cells[i + 4, 1]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 8;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 2], mySheet.Cells[i + 4, 2]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 45;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 3], mySheet.Cells[i + 4, 3]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 4], mySheet.Cells[i + 4, 4]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 5], mySheet.Cells[i + 4, 5]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 6], mySheet.Cells[i + 4, 6]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 25;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
excelRange = mySheet.Range[mySheet.Cells[i + 4, 7], mySheet.Cells[i + 4, 7]];
excelRange.NumberFormatLocal = "@";
excelRange.ColumnWidth = 35;
excelRange.HorizontalAlignment = XlHAlign.xlHAlignCenter;
excelRange.Font.Bold = true;
//让数字变为字符串显示
mySheet.Cells[i + 4, 1] = "" + (i + 1).ToString(CultureInfo.InvariantCulture);
string companyInfoStr = item.CompanyInfo.CompanyName + "(";
if (string.IsNullOrEmpty(item.CompanyInfo.RegistID) == false)
{
companyInfoStr += "注册号:" + item.CompanyInfo.RegistID.Trim();
}
if (string.IsNullOrEmpty(item.CompanyInfo.UniSCID) == false)
{
companyInfoStr += " 统一社会信用代码:" + item.CompanyInfo.UniSCID.Trim();
}
if (string.IsNullOrEmpty(item.CompanyInfo.RegistID) == false || string.IsNullOrEmpty(item.CompanyInfo.UniSCID) == false)
{
companyInfoStr += ")";
}
mySheet.Cells[i + 4, 2] = companyInfoStr;
mySheet.Cells[i + 4, 3] = item.ValidDate.ToString("yyyy-MM-dd");
mySheet.Cells[i + 4, 4] = item.ArchiveTypeName;
mySheet.Cells[i + 4, 5] = "" + item.ArchiveBarCode.Trim().ToString(CultureInfo.InvariantCulture);
mySheet.Cells[i + 4, 6] = "" + item.ArchiveBoxBarCode.Trim().ToString(CultureInfo.InvariantCulture);
mySheet.Cells[i + 4, 7] = item.FacilityFullName.Trim();
excelRange.WrapText = true;
i += 1;
}
mySheet.Application.Visible = true;
pFlagOk = true;
}
catch (Exception ex)
{
pFlagOk = false;
pErrInfo = "生成excel单过程中出错,原因:" + ex.Message + "!";
}
return pFlagOk;
}

浙公网安备 33010602011771号