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