C#生成Excel文件

Joe-Peng 2014-08-13 10:28:14
Hi:
各位大侠 怎样用C#来编写程序,生成一个Excel文件。
...全文
2949 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2014-12-03
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
public static void ExeclExport(DataTable dt, string Title, string[] ColumnsTitle, string[] ColumnsparameterValues)
{
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "XLS格式|*.xls";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//Microsoft.Office.Interop.Excel.Range range;

FileStream fs = new FileStream(saveFileDialog1.FileName, FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("GB2312"));
sw.WriteLine(Title);
for (int i = 0; i < ColumnsTitle.Length; i++)
{

sw.Write(ColumnsTitle[i] + "\t");
}
sw.Write("\n");

foreach (DataRow row in dt.Rows)
{
string values = "";
for (int j = 0; j < ColumnsparameterValues.Length; j++)
{
try
{
float.Parse(row[ColumnsparameterValues[j]].ToString());
values += "=TEXT(" + row[ColumnsparameterValues[j]] + ",\"0\")\t";
}
catch (Exception)
{

values += row[ColumnsparameterValues[j]] + "\t";
}
}

sw.WriteLine(values);
}

sw.Close();
fs.Close();
}
}


简单易懂。
快乐起航2020 2014-10-16
  • 打赏
  • 举报
回复
学习了,楼主
crazeox1 2014-09-17
  • 打赏
  • 举报
回复
谢谢,我也在找,受益了!
qzyf1992 2014-09-16
  • 打赏
  • 举报
回复
com组件,aspose,npoi,openxml..
三杨 2014-09-09
  • 打赏
  • 举报
回复
//将dt导出到excel
        public void DataToExcel(DataTable m_DataTable,string s_FileName)
        {
            SaveFileDialog kk = new SaveFileDialog();
            kk.Title = "保存EXECL文件";
            kk.Filter = "EXECL文件(*.xls) |*.xls |所有文件(*.*) |*.*";
            kk.FilterIndex = 1;
            //if (kk.ShowDialog() == DialogResult.OK)
            if(true)
            {
                string FileName = "D:\\" + s_FileName + ".xls";
                if (File.Exists(FileName))
                    File.Delete(FileName);
                FileStream objFileStream;
                StreamWriter objStreamWriter;
                string strLine = "";
                objFileStream = new FileStream(FileName, FileMode.OpenOrCreate, FileAccess.Write);
                objStreamWriter = new StreamWriter(objFileStream, System.Text.Encoding.Unicode);
                for (int i = 0; i < m_DataTable.Columns.Count; i++)
                {
                    strLine = strLine + m_DataTable.Columns[i].Caption.ToString() + Convert.ToChar(9);
                }
                objStreamWriter.WriteLine(strLine);
                strLine = "";

                for (int i = 0; i < m_DataTable.Rows.Count; i++)
                {
                    for (int j = 0; j < m_DataTable.Columns.Count; j++)
                    {
                        if (m_DataTable.Rows[i].ItemArray[j] == null)
                            strLine = strLine + " " + Convert.ToChar(9);
                        else
                        {
                            string rowstr = "";
                            rowstr = m_DataTable.Rows[i].ItemArray[j].ToString();
                            if (rowstr.IndexOf("\r\n") > 0)
                                rowstr = rowstr.Replace("\r\n", " ");
                            if (rowstr.IndexOf("\t") > 0)
                                rowstr = rowstr.Replace("\t", " ");
                            strLine = strLine + rowstr + Convert.ToChar(9);
                        }
                    }
                    objStreamWriter.WriteLine(strLine);
                    strLine = "";
                }
                objStreamWriter.Close();
                objFileStream.Close();
                //MessageBox.Show("","保存EXCEL成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
文件路径那可以改改,让用户自己选择路径,把注释去掉就OK了。
wanzi_1434761013 2014-08-23
  • 打赏
  • 举报
回复
C#创建保存Excel文件示例 private void btn_Create_Click(object sender, EventArgs e) { string P_str_path = txt_Path.Text;//记录路径 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//实例化Excel对象 Microsoft.Office.Interop.Excel.Workbook newWorkBook = excel.Application.Workbooks.Add(true);//添加新工作簿 object missing = System.Reflection.Missing.Value;//获取缺少的object类型值 newWorkBook.Worksheets.Add(missing, missing, missing, missing);//向Excel文件中增加工作表 if (P_str_path.EndsWith("\\"))//判断路径是否\结尾 newWorkBook.SaveCopyAs(P_str_path + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");//保存Excel文件 else //CodeGo.net// newWorkBook.SaveCopyAs(P_str_path + "\\" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls");//保存Excel文件 MessageBox.Show("Excel文件创建成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//弹出提示信息 System.Diagnostics.Process[] excelProcess = System.Diagnostics.Process.GetProcessesByName("EXCEL");//实例化进程对象 foreach (System.Diagnostics.Process p in excelProcess) p.Kill();//关闭进程 }
sxbluebird 2014-08-14
  • 打赏
  • 举报
回复
类库实现还是使用表格控件实现。 如果是表格控件实现,我推荐您使用Spread 表格--Winform、ASP.NET、WPF等平台都有。 http://www.gcpowertools.com.cn/products/sheet.htm 我曾经写过一篇博客,供您参考: 开发复用之表格控件:研发成本降低途径
Joe-Peng 2014-08-14
  • 打赏
  • 举报
回复
想要以类库的方式去实现生成一个excel

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧