1、编程环境 Visual Studio 2013
2、我的目的: 设置类似如下图窗体,在文本框中输入内容,点击“”保存“”按钮,将文本框数据保存到一个数据表(DataTable)中,点击“”导出表格“”按钮,将数据表中的数据导出到excel 表中。
3、“保存”按钮事件代码如下:
private void button1_Click(object sender, EventArgs e)
{
DataRow row;
row = dt.NewRow();
row["colum0"] = textBox1.Text;
row["colum1"] = textBox2.Text;
dt.Rows.Add(row);
//Console.WriteLine(dt.Rows[0]["colum0"].ToString());
//Console.WriteLine(dt.Rows[0]["colum1"].ToString());
textBox1.Text = "";
textBox2.Text = "";
}
4、“导出表格”按钮事件代码如下:
private void button2_Click(object sender, EventArgs e)
{
IWorkbook workbook = null;
FileStream fs = null;
IRow row = null;
ISheet sheet = null;
ICell cell = null;
try
{
if (dt != null && dt.Rows.Count > 0)
{
workbook = new HSSFWorkbook();
sheet = workbook.CreateSheet("Sheet0");//创建一个名称为Sheet0的表
int rowCount = dt.Rows.Count;//行数
int columnCount = dt.Columns.Count;//列数
//设置列头
row = sheet.CreateRow(0);//excel第一行设为列头
for (int c = 0; c < columnCount; c++)
{
cell = row.CreateCell(c);
cell.SetCellValue(dt.Columns[c].ColumnName);
}
//设置每行每列的单元格,
for (int i = 0; i < rowCount; i++)
{
row = sheet.CreateRow(i + 1);
for (int j = 0; j < columnCount; j++)
{
cell = row.CreateCell(j);//excel第二行开始写入数据
cell.SetCellValue(dt.Rows[i][j].ToString());
}
}
using (fs = File.OpenWrite(@"D:/myxls.xls"))
{
workbook.Write(fs);//向打开的这个xls文件中写入数据
}
}
}
catch (Exception ex)
{
if (fs != null)
{
fs.Close();
}
}
}
5、程序源码下载地址:https://files-cdn.cnblogs.com/files/lyj-lazy/WindowsFormsApplication1.rar