PDA

View Full Version : حرفه ای: چگونگی ایجاد و ذخیره سازی فایل اکسل از طریق برنامه



h_jafarnezhad
یک شنبه 22 شهریور 1394, 09:56 صبح
سلام از طریق کد زیر فایل رو ایجاد کردم .ولی نمیدونم چه طوری از داخل برنامه تو مسیر مشخص با نام مشخص ذخیره کنم.لطفا راهنمایی کنید

Excel.ApplicationClass excel = new ApplicationClass();

excel.Application.Workbooks.Add(true);
DataTable table = DATASETNAME.Tables[0];
int ColumnIndex=0;
foreach(Datacolumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[1,ColumnIndex]=col.ColumnName;
}
int rowIndex=0;
foreach(DataRow row in table.Row)
{
rowIndex++;
ColumnIndex=0;
foreach(DataColumn col in table.Columns)
{
ColumnIndex++;
excel.Cells[rowIndex+1,ColumnIndex]=row.Cells[col.ColumnName].Text;
}
}
excel.Visible = true;
Worksheet worksheet = (Worksheet)excel.ActiveSheet;
worksheet.Activate();

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:17 صبح
یکی جواب بده خیلی فوریه کارم گیره لطفا

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:18 صبح
سلام...
workbook.SaveAs(output, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode. xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

که output مسیر ذخیره سازی فایله

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:21 صبح
می خوام اتوماتیک سیو کنه و کاری به کاربر هم نداشته باشه

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:26 صبح
منظورتون چیه اتوماتیک ذخیره بشه؟؟
هر جایی که لازم بود ذخیره کنید این کد رو قرار بدید و توی کد برنامه output رو مقدار دهی کنید

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:28 صبح
ببینین مسیر مشخصه و نام فایل همم مشخصه نمی خوام کادر save as برای کاربر باز شه

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:30 صبح
دوست عزیز کادر که باز نمیشه!:لبخندساده: فقط مسیر و نام فایل رو داخل متغیر output قرار بدید.....خودش ذخیره میشه

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:41 صبح
یه سوال چه طور می تونم بعد از این که فایل ذخیره شد ببندمش و یه فایل جدید باز کنم

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:42 صبح
دوست عزیز کد رو تست کردید؟؟!!

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:43 صبح
بله خیلی ممنون

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:48 صبح
میشه بیشتر توضیح بدید؟

h_jafarnezhad
یک شنبه 22 شهریور 1394, 11:51 صبح
دو تا حلقه دارم که اولی اسم فایل رو تایین می کنه دومی بر اساس اولی میاد اطلاعات رو مینویسه لازمه که یکی یکی فایل ها ایجاد بشه پر بشه و در اخر ذخیره بشه

محمد رضا فاتحی
یک شنبه 22 شهریور 1394, 11:59 صبح
خوب شما با استفاده از حلقه اول نام فایل جدید رو تولید کنید و داخل پارامتر output قرار بدید.... فکر نکنم مشکل خاصی وجود داشته باشه
من خودم یه کدی دارم برای ذخیره سازی اطلاعات تو اکسل
تقریبا شبیه به کد شماس فقط دو تا خط اضافه داره...
اینو اول تعریف می کنم

Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();


و بعد از ذخیره شدن فایل (همون کدی که براتون فرستادم)

app.Quit();


شاید مشکلتون حل بشه اگه اینها رو اضافه کنید...:لبخندساده: