PDA

View Full Version : سوال: ثبت اطلاعات در Excell (فوری)



ebrahim1988
سه شنبه 11 اسفند 1388, 17:46 عصر
با سلام خدمت دوستان
میخواستم بدونم چطوری میشه یه سری اطلاعات رو تو مثلا یه ردیف Excell وارد کرد(مثل اضافه کردن یه رکورد به پایگاه داده)
ممنون

r00tkit
سه شنبه 11 اسفند 1388, 19:15 عصر
سلام

در مورد VSTO سرچ کن

اینم یه کتاب
Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath


using System;
using System.Collections.Generic;

using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;

public class Account
{
public int ID { get; set; }
public double Balance { get; set; }
}

public class Program
{
static void Main(string[] args)
{
var checkAccounts = new List<Account> {
new Account {
ID = 345,
Balance = 541.27
},
new Account {
ID = 123,
Balance = -127.44
}
};

DisplayInExcel(checkAccounts, (account, cell) =>
{
// This multiline lambda will set
// custom processing rules.
cell.Value = account.ID;
cell.Offset[0, 1].Value = account.Balance;

if (account.Balance < 0)
{
cell.Interior.Color = 255;
cell.Offset[0, 1].Interior.Color = 255;
}
});

var word = new Word.Application();
word.Visible = true;
word.Documents.Add();
word.Selection.PasteSpecial(Link: true, DisplayAsIcon: true);
}

public static void DisplayInExcel(IEnumerable<Account> accounts,
Action<Account, Excel.Range> DisplayFunc)
{
var xl = new Excel.Application();

xl.Workbooks.Add();
xl.Visible = true;
xl.Cells[1, 1] = "ID";
xl.Cells[1, 2] = " Balance";
xl.Cells[2, 1].Select();
foreach (var ac in accounts)
{
DisplayFunc(ac, xl.ActiveCell);
xl.ActiveCell.Offset[1, 0].Select();
}

xl.Range["A1:B3"].Copy();
//xl.get_Range("A1:B3").Copy();

xl.Columns[1].AutoFit();
xl.Columns[2].AutoFit();
}
}

ebrahim1988
چهارشنبه 12 اسفند 1388, 09:33 صبح
یعنی واقعا روش دیگه ای که Component نخواد(مثل اکسس) وجود نداره که راحت بشه با دستورات Sql داخل اکسل Insert کرد؟

FastCode
چهارشنبه 12 اسفند 1388, 13:46 عصر
با odbc و oledb میشه.
Link (www.connectionstrings.com)

r00tkit
چهارشنبه 12 اسفند 1388, 14:12 عصر
اموزش کامل (اگه خواستی بگو ترجمه کنم)

http://www.codeproject.com/KB/grid/Excel_in_CS.aspx

Reading and Writing Excel Spreadsheets Using ADO.NET C# DbProviderFactory (http://www.davidhayden.com/blog/dave/archive/2006/05/26/2973.aspx)

r00tkit
پنج شنبه 13 اسفند 1388, 12:52 عصر
اینجا رو هم ببین http://code.msdn.microsoft.com/NitoExcel
از همش جالب تره