rezaee2
سه شنبه 27 اسفند 1392, 10:26 صبح
سلام و وقت بخیر
برای تبدیل یک جدول داده به فایل اکسل، با استفاده از توابع خود ویژوال استادیو قطعه کد زیر رو پیدا کردم:
void SetDataTable_To_Excel(MyTable dtTable, string PathFileName)
{
try
{
var excel = new Excel.Application {Visible = false};
var misValue = System.Reflection.Missing.Value;
var wb = excel.Workbooks.Add(misValue);
//var wb = excel.Workbooks.Open(PathFileName);
Excel.Worksheet sh = wb.Sheets.Add();
sh.Name = "TestSheet";
sh.Cells[1,"A"].Value2 = "EMPLOYEENUMBER";
sh.Cells[1, "B"].Value2 = "TIMEFROM";
sh.Cells[1, "C"].Value2 = "TIMETO";
sh.Cells[1, "D"].Value2 = "HOLIDAY";
sh.Cells[1, "E"].Value2 = "RESTDAY";
// Insert Rows
for (int i = 0; i < dtTable.RowsCount; i++)
{
sh.Cells[i + 2, "A"].Value2 = dtTable.Rows[i][0]; // EmployeeNumber
sh.Cells[i + 2, "B"].Value2 += dtTable.Rows[i][1]; // Time From
sh.Cells[i + 2, "C"].Value2 += dtTable.Rows[i][2]; // Time To
sh.Cells[i + 2, "D"].Value2 += dtTable.Rows[i][3]; // Holiday
sh.Cells[i + 2, "E"].Value2 += dtTable.Rows[i][4]; // Rest Day
}
wb.SaveAs(PathFileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
wb.Close(true);
excel.Quit();
}
catch (Exception ex)
{
throw;
}
}
نکته اینه که باید قبلش رفرنسش رو اضافه کرد
microsoft.office.introp.excel
اما وقتی کد رو به برنامه اضافه میکنم تعریف متغییرها رو نمیشناسه. اول از همه به void بودن تابع گیر میده و بعد زیر اکسل تو خطی که زیر زدم خط میکشه. در ادامه انگار متغییر هایی که تعریف شده رو نمیشناسه
var excel = new Excel.Application {Visible = false};
شما اگه لطف کنید و این رو تو یه پروژه پیست کنید و بررسی کنید ببینید ایراد داره و آیا ایرادش رو متوجه میشید ممنون میشم
برای تبدیل یک جدول داده به فایل اکسل، با استفاده از توابع خود ویژوال استادیو قطعه کد زیر رو پیدا کردم:
void SetDataTable_To_Excel(MyTable dtTable, string PathFileName)
{
try
{
var excel = new Excel.Application {Visible = false};
var misValue = System.Reflection.Missing.Value;
var wb = excel.Workbooks.Add(misValue);
//var wb = excel.Workbooks.Open(PathFileName);
Excel.Worksheet sh = wb.Sheets.Add();
sh.Name = "TestSheet";
sh.Cells[1,"A"].Value2 = "EMPLOYEENUMBER";
sh.Cells[1, "B"].Value2 = "TIMEFROM";
sh.Cells[1, "C"].Value2 = "TIMETO";
sh.Cells[1, "D"].Value2 = "HOLIDAY";
sh.Cells[1, "E"].Value2 = "RESTDAY";
// Insert Rows
for (int i = 0; i < dtTable.RowsCount; i++)
{
sh.Cells[i + 2, "A"].Value2 = dtTable.Rows[i][0]; // EmployeeNumber
sh.Cells[i + 2, "B"].Value2 += dtTable.Rows[i][1]; // Time From
sh.Cells[i + 2, "C"].Value2 += dtTable.Rows[i][2]; // Time To
sh.Cells[i + 2, "D"].Value2 += dtTable.Rows[i][3]; // Holiday
sh.Cells[i + 2, "E"].Value2 += dtTable.Rows[i][4]; // Rest Day
}
wb.SaveAs(PathFileName, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
wb.Close(true);
excel.Quit();
}
catch (Exception ex)
{
throw;
}
}
نکته اینه که باید قبلش رفرنسش رو اضافه کرد
microsoft.office.introp.excel
اما وقتی کد رو به برنامه اضافه میکنم تعریف متغییرها رو نمیشناسه. اول از همه به void بودن تابع گیر میده و بعد زیر اکسل تو خطی که زیر زدم خط میکشه. در ادامه انگار متغییر هایی که تعریف شده رو نمیشناسه
var excel = new Excel.Application {Visible = false};
شما اگه لطف کنید و این رو تو یه پروژه پیست کنید و بررسی کنید ببینید ایراد داره و آیا ایرادش رو متوجه میشید ممنون میشم