سلام
با عرض سلام
قصد دارم در vb2010برنامه ای بنویسم که به دنبال یک مقدار در یک فایل اکسل بگرده و مقدار سلول های مجاورش رو نشون بده
ممکنه بهم کمک کنید
Printable View
سلام
با عرض سلام
قصد دارم در vb2010برنامه ای بنویسم که به دنبال یک مقدار در یک فایل اکسل بگرده و مقدار سلول های مجاورش رو نشون بده
ممکنه بهم کمک کنید
سلام دوست عزیز قبلاً همچنین نمونه ای رو نوشته بودم میتونید از مثال زیر استفاده کنید.
منتهی باید اکسل رو سیستمتون نصب باشه و چند تا ریفرنس رو ادد کنید.
این تابع یک فایل اکسل رو میگیره و تبدیلش میکنه به یک دیتاست در حافظه که قابل خوندن هست و میتونه با دیتا گیرید هم بایند بشه.
ریفرنس های مورد نیاز:کد:public static DataSet ReadText(string fileName)
{
Microsoft.Office.Interop.Excel.Application excelapp = new Microsoft.Office.Interop.Excel.Application();
excelapp.Visible = false;
if (excelapp == null)
throw new Exception("نرم افزار اکسل نصب نمی باشد.");
DataSet dataSet = new DataSet();
Microsoft.Office.Interop.Excel.Workbook excelappworkbook = null;
try
{
excelappworkbook = excelapp.Workbooks.Open(
fileName,
Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlTextParsingType.xlDelimited, Microsoft.Office.Interop.Excel.XlTextQualifier.xlTextQualifierNone,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
for (int sheetCount = 1; sheetCount <= excelappworkbook.Worksheets.Count; sheetCount++)
{
var excelworksheet = (Microsoft.Office.Interop.Excel.Worksheet)excelappworkbook.Worksheets.get_Item(sheetCount);
var range = excelworksheet.UsedRange;
var table = dataSet.Tables.Add(excelworksheet.Name);
Microsoft.Office.Interop.Excel.Range excelcells = excelworksheet.UsedRange;
object[,] worksheetValuesArray = excelcells.get_Value(Type.Missing);
if (worksheetValuesArray == null)
{
dataSet.Tables.Remove(table);
continue;
}
for (int col = 1; col < (worksheetValuesArray.GetLength(1) + 1); col++)
{
table.Columns.Add();
}
for (int col = 1; col < (worksheetValuesArray.GetLength(0) + 1); col++)
{
List<object> values = new List<object>();
for (int row = 1; row < (worksheetValuesArray.GetLength(1) + 1); row++)
{
values.Add(worksheetValuesArray[col, row]);
}
table.Rows.Add(values.ToArray());
}
}
}
catch (Exception e)
{
AutoLogger.LogError(e, "Excel Reader Text");
}
if (excelappworkbook != null)
excelappworkbook.Close(false, Type.Missing, Type.Missing);
excelapp.Quit();
return dataSet;
}
کد:Microsoft.Vbe.Interop.dll
Microsoft.Office.Interop.Excel.dll