PDA

View Full Version : باز كردن فايل اكسل موجود با كد نويسي



ali-se
چهارشنبه 14 بهمن 1388, 10:31 صبح
كدي براي باز كردن فايل اكسل موجود روي سيستم از طريق برنامه ميخوام

ali-se
چهارشنبه 14 بهمن 1388, 11:20 صبح
من تاپيك ها رو گشتم و مال وردشو پيدا كردم ولي اكسلش erorr ميده وقتي ميخواد فايل رو باز كنه

Excel.Application excelApp = new Excel.ApplicationClass();
excelApp.Visible = true;

رو اين خط خطا ميده
Excel.Workbook excelWorkBook =
excelApp.Workbooks.Open(@"c:\SomeWorkBook.xls", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true,true,true );

ali-se
چهارشنبه 21 بهمن 1388, 18:19 عصر
لطفا يه راهنمايي بكنين
من خيلي سرچ كردم ولي به نتيجه نرسيدم
لااقل بگين اين خطا از چيه:ناراحت:

ehsanarn
چهارشنبه 21 بهمن 1388, 20:24 عصر
سلام دوست عزیز
یک سری به تاپیک زیر بزن
http://barnamenevis.org/forum/showthread.php?t=200636

ali-se
پنج شنبه 22 بهمن 1388, 08:40 صبح
دوست عزي ممنون ، من اين تاپيك رو ديدم .
ولي موضوع من باز كردن فايل اكسل است ، نه استفاده از محتويات آن.

AliRezaPro
پنج شنبه 22 بهمن 1388, 09:13 صبح
شما فایل اکسل رو میخواهید کجا باز کنید؟در برنامه خودتون؟(برای باز کردن در برنامه ی خودتون که میتونید از کامپوننت ها کمک بگیرید وگرنه که میتونید از کلاس پروسس برای باز کردن استفاده کنید)
توضیحات زیر در مورد ای است که چگونه در سی شارپ فایل های اکسل رو باز کنیم یا بخواینیم
برای باز کردن یا خواندن در سی شارپ اول باید اسمبلی Microsoft Excel 12.0 Object Library رو به پروژه اضافه کنیم
پروژه ی جدیدی باز کنید و یک Command Button در آن قرار دهید
عکس های زیر نشون میده که شما چگونه میتوانید رفرنس های موجود رو در پروژه ی خودتون اضافه کنید

http://i.imagehost.org/0855/1_85.jpg


Microsoft Excel 12.0 Object Library را انتخاب کنید و ok کنید

http://f.imagehost.org/0090/2_35.jpg

کد های زیر رو به پروژهی خودتون اضافه کنید
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Excel.Application xlApp ;
Excel.Workbook xlWorkBook ;
Excel.Worksheet xlWorkSheet ;
object misValue = System.Reflection.Missing.Value;

xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindow s, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1) ;

MessageBox.Show(xlWorkSheet.get_Range("A1","A1").Value2.ToString());

xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();

releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
}

private void releaseObject(object obj)
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComO bject(obj);
obj = null;
}
catch (Exception ex)
{
obj = null;
MessageBox.Show("Unable to release the Object " + ex.ToString());
}
finally
{
GC.Collect();
}
}
}
}

ali-se
پنج شنبه 22 بهمن 1388, 09:22 صبح
از بي توجهي همه دوستان ممنونم.
خودم پيداش كردم.

System.Diagnostics.Process.Start(fileName);

با اين كد همه فايل ها باز مي شن، البته از طريق خود ويندوز.