导入导出excel中公式

寄语:人生就要活得漂亮,走得铿锵;自己不奋斗,终归是摆设;无论你是谁,宁可做拼搏的失败者,也不要做安于现状的平凡人;不谈以前的艰难,只论现在的坚持;人生就像舞台,不到谢幕,永远不要认输。

在创业团队工作的张亮遇到难题,平时较少使用Excel这类软件,作为写代码的工程师,性格内敛。老板临时交代一个任务,必须用Excel处理。他通过坚果云联系到我,希望我能给个行得通的方法,我对此感到很惊讶,毕业不久各奔东西想不到他还记得我,虽然是工作上的事情。我把操作的具体流程整理给他。这里也将导入代码发布给大家,有需要随时都可以打开看看。

#region 数据导出到Exel

/// <summary>

/// 把DataTable内容导出伟excel并返回客户端

/// </summary>

/// <param name=”dgData”>待导出的DataTable</param>

/// <param name=”strName”>需要替换的列名</param>

public static void DataTableToExcel(System.Data.DataTable dtData, string[] strName){System.Web.UI.WebControls.DataGrid dgExport = null;// 当前对话System.Web.HttpContext curContext = System.Web.HttpContext.Current;// IO用于导出并返回excel文件System.IO.StringWriter strWriter = null;

System.Web.UI.HtmlTextWriter htmlWriter = null;if (dtData != null){// 设置编码和附件格式

curContext.Response.ContentType = “application/vnd.ms-excel”;curContext.Response.ContentEncoding = System.Text.Encoding.UTF7;curContext.Response.Charset = “”;// 导出excel文件

strWriter = new System.IO.StringWriter();

htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);// 为了解决dgData中可能进行了分页的情况,需要重新定义一个无分页的DataGriddgExport = new System.Web.UI.WebControls.DataGrid();dgExport.DataSource = dtData.DefaultView;if (strName.Length > 0)

{int i;

for (i = 0; i < strName.Length; i++)

{dtData.Columns[i].ColumnName = strName[i];

}

}

dgExport.AllowPaging = false;

dgExport.DataBind();

// 返回客户端

dgExport.RenderControl(htmlWriter);

curContext.Response.Write(strWriter.ToString());curContext.Response.End();}

}

#endregion

#region public bool OutExcel(DataTable paramDT) 导出到Excel/// <summary>

/// 导出到Excel

/// </summary>

/// <param name=”paramDT”>数据表</param>

/// <returns>True:成功,False:失败</returns>

public bool OutExcel(DataTable paramDT)

{if (paramDT.Rows.Count == 0)

{return false;

}

Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workbook book = myExcel.Application.Workbooks.Add(true);myExcel.Visible = true;Microsoft.Office.Interop.Excel.Worksheet sheet = book.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet;Microsoft.Office.Interop.Excel.Range range2 = sheet.get_Range(sheet.Cells[1, 2], sheet.Cells[1, 7]) as Microsoft.Office.Interop.Excel.Range;//合并一行两列range2.Merge(true);//range2.Columns.ColumnWidth = 20;//定义宽度

range2.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter; //居中range2.Value2 = “销售单据明细”;

range2.Font.Size = 18;

//range2.Font.Color = System.Drawing.ColorTranslator.ToOle(Color.Red);//设置字体颜色range2.Font.Name = “隶书”;Microsoft.Office.Interop.Excel.Range rang1 = sheet.get_Range(sheet.Cells[2, 2], sheet.Cells[10, 10]);rang1.Font.Name = “隶书”;rang1.HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;rang1.Columns.ColumnWidth = 15;Microsoft.Office.Interop.Excel.Range rang3 = sheet.get_Range(sheet.Cells[2, 6], sheet.Cells[100, 6]);rang3.Columns.ColumnWidth = 25;for (int i = 0; i < paramDT.Columns.Count; i++){myExcel.Cells[2, i + 2] = paramDT.Columns[i].ColumnName;}

for (int i = 0; i < paramDT.Rows.Count; i++)

{for (int j = 0; j < paramDT.Columns.Count; j++){if (paramDT.Rows[i][j] != null){myExcel.Cells[i + 3, j + 2] = “‘” + paramDT.Rows[i][j].ToString();}

}

}

return true;

}

#endregion

//导出数据到excel

#region public bool SaveExcel(DataGridView paramGirdView) 保存datagridview 数据到 Excel/// <summary>

/// 保存datagridview 数据到 Excel

/// </summary>

/// <param name=”paramGirdView”>datagridview</param>

/// <returns>是否成功</returns>

public bool SaveExcel(DataGridView paramGirdView){if (paramGirdView.Rows.Count == 0) //判断数据是否等于0{return false;}

//创建 Excel 对象

Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.Application();myExcel.Application.Workbooks.Add(true);myExcel.Visible = true;

myExcel.Cells[1, 2] = “学生基本信息”;

//生成字段名称(列名)

for (int i = 0; i < paramGirdView.ColumnCount; i++){// 第二行第二列开始录入数据myExcel.Cells[2, i + 2] = paramGirdView.Columns[i].HeaderText;}

//填充数据

for (int i = 0; i < paramGirdView.RowCount; i++){for (int j = 0; j < paramGirdView.ColumnCount; j++){//判断类型是否是字符串if (paramGirdView[j, i].ValueType == typeof(string)){// 第二行第二列开始录入数据if (paramGirdView[j, i].Value != null)

{myExcel.Cells[i + 3, j + 2] = “‘” + paramGirdView[j, i].Value.ToString();}

}

else

{if (paramGirdView[j, i].Value != null)

{myExcel.Cells[i + 3, j + 2] = paramGirdView[j, i].Value;}

}

}

}

return true;

}

#endregion

其实,上述事情的最佳处理办法不是联系老朋友,而是和老员工进行协同办公完成领导的安排。说到协调办公,目前坚果云是最好用的企业办公网盘,我们随机选择坚果云的优点来看。

坚果云可支持多个客户端:3个电脑客户端(Windows、MacOS、Linux),2个移动客户端(iOS、Android),1个Web客户端,共6个客户端均受坚果云支持。便利可行的操作,不改变习惯、只提升效率!

最后,像在工作遇到突发的操作问题,我们也是有可能会遇到,大家可以保留这个文档。坚果云的企业网盘是非常使用的,黑科技这样的科技大咖都在极力推荐,也推荐给大家。

阅读已结束,喜欢的话就点个赞吧
注册坚果云网盘
还有其他问题,可以咨询小坚果咨询小坚果
赞(0)
网站部分内容和图片来源于网络如有侵权请联系我们删除:企业网盘坚果云的干货分享 » 导入导出excel中公式
分享到: 更多 (0)
导入导出excel中公式

评论 抢沙发

评论前必须登录!

 

坚果云 便捷、安全的网盘产品

免费试用下载客户端