求住 C#生成excel 表(100分在线等) 公司让我做个 C# windows窗体应用程序 写几个字段 让用户填写,不插数据库 直接生成excel 表我原来是弄web的,这个都不太懂,请大家帮帮忙~能实现吗?能给个示例吗?谢谢大家了 非常感谢(在线等) 嘻嘻~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.创建一个excel。2.把你数据写进这个excel的某个sheet. 对了 是要用户填一条一条的添加数据,不是生成多个EXCEL表哦 麻烦各位大大了~ 那这个excel你创建好,以后每次要往里面写数据的时候打开它就行了 你可以做成:用户填一条数据就向DataTable中加一条记录.等用记全填完了.然后将DataTable的数据导出到excel //把你的DataTable,也就是用户填的数据构建的table.//传入下面方法即可ExportToExcel(dt); public static void ExportToExcel(DataTable Table1) { string[] temStr = new string[Table1.Rows.Count+1]; for (int i = 0; i < Table1.Columns.Count; i++) { if (i > 0) { temStr[0] += "\t"; } temStr[0] += Table1.Columns[i].ColumnName; } for (int j = 0; j < Table1.Rows.Count; j++) //写内容 { for (int k = 0; k < Table1.Columns.Count; k++) { if (k > 0) { temStr[j + 1] += "\t"; } temStr[j + 1] += Table1.Rows[j][k]; } } FileCrear(temStr); }private static void FileCrear(string[] swtreaStr)//导出Excel { try { File.WriteAllLines(System.Environment.CurrentDirectory + "\\WRGNDA_" +//System.Environment.CurrentDirectory改成你的指定文件夹 string.Format("{0:yyyyMMdd}", System.DateTime.Today) +".XLS", swtreaStr, System.Text.Encoding.GetEncoding("gb2312")); } catch { return; } } 不过呢~不能插入数据库哦,直接写入excel表里的 刚看到帖子lovehongyun 潇湘夜雨 就把答案说了..... 干吗老抢分啊..你看我还没到星星呢..不能给我留点哦... using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Microsoft.Office.Interop.Excel;namespace WindowsApplication11{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();//创建Excel对象 Workbook wb = xlapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);//创建工作薄 Worksheet ws = (Worksheet)wb.Worksheets[1]; //创建工作页 //设置格式 ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 3]).Font.Name = "隶书"; ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 3]).Font.Bold = true; //设置标题 xlapp.Cells[1, 1] = "员工姓名"; xlapp.Cells[1, 2] = "所属部门"; xlapp.Cells[1, 3] = "职称"; //填充数据 xlapp.Cells[2,1] = txt_name.Text.Trim(); xlapp.Cells[2,2]=txt_department.Text.Trim(); xlapp.Cells[2,3]=txt_title.Text.Trim(); //保存Excel xlapp.Save("employee.xls"); //打开Excel xlapp.Visible = true; } }}注意:需在解决方案资源管理器中添加以下引用1、添加引用下的COM下的Microsoft Excel 11.0 Object Library2、添加引用下的COM下的Microsoft Office 11.0 Object Library以上两项添加完后再在命令空间中加入红色行。 c#程序题,急 如何去两个datetimepiker日期之间的所有日期 计算器,想用一个数组里面装加减乘除 然后随即产生出来 再说皮肤,有什么好的解决方案? 在线求助...高效率限制字符串小于32767... 比较后提取相同字符串 调用存储过程出现错误 外行,问问网站建设J2EE架构和.Net架构的优劣都在哪里 简单问题难倒了我,解决了就给分 怎么用代码把datagrid增加一个空白行,谢谢,在线等待 就B/S开发而言.net还是java? C#进度提示窗体拖动后无法显示执行进度
2.把你数据写进这个excel的某个sheet.
用户填一条数据就向DataTable中加一条记录.等用记全填完了.然后将DataTable的数据导出到excel
//传入下面方法即可
ExportToExcel(dt);
public static void ExportToExcel(DataTable Table1)
{
string[] temStr = new string[Table1.Rows.Count+1];
for (int i = 0; i < Table1.Columns.Count; i++)
{
if (i > 0)
{
temStr[0] += "\t";
}
temStr[0] += Table1.Columns[i].ColumnName; }
for (int j = 0; j < Table1.Rows.Count; j++) //写内容
{
for (int k = 0; k < Table1.Columns.Count; k++)
{
if (k > 0)
{
temStr[j + 1] += "\t";
}
temStr[j + 1] += Table1.Rows[j][k];
}
}
FileCrear(temStr);
}
private static void FileCrear(string[] swtreaStr)//导出Excel
{
try
{
File.WriteAllLines(System.Environment.CurrentDirectory + "\\WRGNDA_" +//System.Environment.CurrentDirectory改成你的指定文件夹
string.Format("{0:yyyyMMdd}", System.DateTime.Today) +".XLS",
swtreaStr, System.Text.Encoding.GetEncoding("gb2312"));
}
catch
{
return;
}
}
刚看到帖子lovehongyun 潇湘夜雨 就把答案说了..... 干吗老抢分啊..你看我还没到星星呢..不能给我留点哦...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.Office.Interop.Excel;
namespace WindowsApplication11
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.Application();//创建Excel对象
Workbook wb = xlapp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);//创建工作薄
Worksheet ws = (Worksheet)wb.Worksheets[1]; //创建工作页 //设置格式
ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 3]).Font.Name = "隶书";
ws.get_Range(ws.Cells[1, 1], ws.Cells[1, 3]).Font.Bold = true; //设置标题
xlapp.Cells[1, 1] = "员工姓名";
xlapp.Cells[1, 2] = "所属部门";
xlapp.Cells[1, 3] = "职称";
//填充数据
xlapp.Cells[2,1] = txt_name.Text.Trim();
xlapp.Cells[2,2]=txt_department.Text.Trim();
xlapp.Cells[2,3]=txt_title.Text.Trim();
//保存Excel
xlapp.Save("employee.xls");
//打开Excel
xlapp.Visible = true; }
}
}
注意:需在解决方案资源管理器中添加以下引用
1、添加引用下的COM下的Microsoft Excel 11.0 Object Library
2、添加引用下的COM下的Microsoft Office 11.0 Object Library
以上两项添加完后再在命令空间中加入红色行。