Bạn có thế tham khảo công cụ FlexCell để kết xuất ra Excel và PDF theo định dạng mẫu có sẵn, mẫu đó là do bạn thiết kế ra nhé.
Mình đã search trên 4rum mà không thấy. Mà chưa tìm ra hướng nên mạo muội hỏi mọi người hướng dẫn giúp.
Hiện tại mình có database muốn xuất ra file excel hoặc PDF với form định sẵn,
ví dụ: mình muốn xuất ra file với form như sau:
họ & tên: ............................. Ngày sinh: .................................
Quê Quán: .................................................. ...........................
Giới tính: .......................... Tôn Giáo ............. Quốc Tịch:...........
muốn dữ liệu khi xuất ra sẽ tự thay vào chỗ (.......), mong các anh chị hướng dẫn giúp.
Bạn có thế tham khảo công cụ FlexCell để kết xuất ra Excel và PDF theo định dạng mẫu có sẵn, mẫu đó là do bạn thiết kế ra nhé.
Mình làm theo kiểu này.
Đầu tiền mình cho hiển thị các dữ liệu trong database ra các textbox tương ứng: txthoten, txtngaysinh,txtquequan...Sau đó ghi các textbox đó vào các ô của file excel có sẵn
còn cách ghi thẳng từ database vào fileexcel thì mình chưa thử. ^^try
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Excel file *.xls|*.xls";
if (save.ShowDialog() == DialogResult.OK)
{
//Tạo các đối tượng
object format = 5;
Microsoft.Office.Interop.Excel.ApplicationClass xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Open(@"C:/Tenfileexcel.xls", 0, false, format, null, null, false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindow s, null, true, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Sheets xlSheets = xlBook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlSheets .get_Item("Sheet1");
object misValue = System.Reflection.Missing.Value;
//Insert nội dung
xlApp.Cells[7, 5] = txthoten.Text; // ghi vào dòng thứ 7 cột thứ 5 của file excel
xlApp.Cells[8, 5] = txtngaysinh.Text; // ghi vào dòng thứ 8 cột thứ 5 của file excel
xlApp.Cells[9, 5] = txquequan.Text; // ghi vào dòng thứ 9 cột thứ 5 của file excel
//.............................................
}
//Lưu lại
xlBook.SaveAs(save.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWork bookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode. xlExclusive, misValue, misValue, misValue, misValue, misValue);
//Đóng lại
xlBook.Close(true, misValue, misValue);
xlApp.Quit();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Các bạn có Demo không share cho mình với, mình gà lắm.
Bạn làm như này:
nhomhh và thue thì bạn cho hiển thị lên textbox vidu txtnhomhh và txtthue
Còn dữ liệu bên dưới thì bạn đổ vào Datagrdview tên là DrThongtin (đổ dữ liệu vào Datagridview chắc là bạn biết rồi)
Bạn tạo 1 file excel tên Tenfileexcel.xls để trong ổ C:\
Bạn cứ làm thế là ok!private void bt_Xuatfileexcel_Click(object sender, EventArgs e)
{
try
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Excel file *.xls|*.xls";
if (save.ShowDialog() == DialogResult.OK)
{
object format = 5;
Microsoft.Office.Interop.Excel.ApplicationClass xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Workbook xlBook = xlApp.Workbooks.Open(@"C:/Tenfileexcel.xls", 0, false, format, null, null, false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindow s, null, true, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Sheets xlSheets = xlBook.Worksheets;
Microsoft.Office.Interop.Excel.Worksheet xlSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlSheets .get_Item("Sheet1");
object misValue = System.Reflection.Missing.Value;
//Insert nội dung
xlSheet.Cells[2, 1] = txtnhomhh.Text;
xlSheet.Cells[2, 2] = txtthue.Text;
for (int i = 0; i < DrThongtin.Rows.Count; i++)
{
for (int j = 0; j < DrThongtin.Columns.Count; j++)
{
xlSheet.Cells[i + 4, j + 1] = DrThongtin.Rows[i].Cells[j].Value.ToString();
}
}
//.............................................
}
//Lưu lại
xlBook.SaveAs(save.FileName, Microsoft.Office.Interop.Excel.XlFileFormat.xlWork bookNormal, misValue, misValue, misValue, misValue, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode. xlExclusive, misValue, misValue, misValue, misValue, misValue);
//Đóng lại
xlBook.Close(true, misValue, misValue);
xlApp.Quit();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Chúc bạn thành công! ^^