صفحات گسترده MS Excel به طور گسترده ای برای نگهداری داده های کوچک، متوسط یا بزرگ استفاده می شود. در موارد مختلف، صفحات گسترده به عنوان یک پایگاه داده برای ذخیره داده های برنامه عمل می کنند. در چنین شرایطی، ممکن است لازم باشد داده های ذخیره شده در فایل های اکسل را از داخل برنامه های وب یا دسکتاپ خود بخوانید. برای چنین مواردی، این مقاله نحوه تبدیل داده های اکسل به DataTables در سی شارپ را پوشش می دهد.
- C# API برای صادرات داده های اکسل به DataTable
- Excel به DataTable در سی شارپ
- تبدیل داده های اکسل قوی تایپ شده به DataTable
- تبدیل داده های اکسل بدون تایپ قوی به DataTable
- مجوز رایگان دریافت کنید
C# Excel به DataTable تبدیل API
Aspose.Cells for .NET یک کتابخانه کلاسی است که به شما امکان می دهد ویژگی های اتوماسیون اکسل را در برنامه های NET پیاده سازی کنید. علاوه بر این، API به شما اجازه می دهد تا داده ها را از کاربرگ های Excel به ADO.NET DataTable در چند مرحله صادر کنید. میتوانید API را دانلود یا از طریق NuGet نصب کنید.
PM> Install-Package Aspose.Cells
تبدیل اکسل به DataTable در سی شارپ
هنگام صادرات دادهها از کاربرگهای اکسل به DataTables، دو حالت ممکن وجود دارد: دادهها میتوانند به شدت تایپ شوند یا غیرقوی. در هر دو مورد، میتوانید تبدیل Excel به DataTable را بر این اساس انجام دهید. بیایید نگاهی به نحوه برخورد با هر یک از سناریوهای ذکر شده در بالا بیاندازیم.
تبدیل داده های اکسل قوی تایپ شده به DataTable در سی شارپ
داده های تایپ قوی به این معنی است که مقادیر موجود در یک ستون به یک نوع داده خاص تعلق دارند. برای چنین مواردی، می توانید با استفاده از مراحل زیر، داده های اکسل را به DataTable در سی شارپ صادر کنید.
- از کلاس Workbook برای بارگیری فایل اکسل استفاده کنید.
- برگهای را که میخواهید در یک شیء Worksheet صادر کنید، دریافت کنید.
- از روش Worksheet.Cells.ExportDataTable(int, int, int, int, bool) برای صادرات داده به یک شی DataTable استفاده کنید.
- از DataTable به عنوان منبع داده استفاده کنید.
نمونه کد زیر نحوه صادرات اکسل به DataTable را نشان می دهد.
// یک جریان فایل حاوی فایل اکسل که باید باز شود ایجاد کنید
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// نمونه سازی یک شی Workbook
//باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(fstream);
// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.Worksheets[0];
// صادر کردن محتویات 2 ردیف و 2 ستون از سلول اول به DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
// DataTable را با DataGrid متصل کنید
dataGridView1.DataSource = dataTable;
// جریان فایل را ببندید تا همه منابع آزاد شوند
fstream.Close();
تبدیل داده های اکسل بدون تایپ قوی به DataTable در سی شارپ
حال، بیایید نگاهی به مورد دیگری بیندازیم که مقادیر در کاربرگ به شدت تایپ نشده اند. این بدان معنی است که آنها به یک نوع داده خاص تعلق ندارند. مراحل زیر برای صادر کردن داده های Excel به DataTable در این مورد است.
- از کلاس Workbook برای بارگیری فایل اکسل استفاده کنید.
- صفحه کاری را که می خواهید در یک شیء Worksheet صادر کنید، انتخاب کنید.
- از روش Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) برای صادرات داده به یک شی DataTable استفاده کنید.
- از DataTable به عنوان منبع داده استفاده کنید.
نمونه کد زیر نشان می دهد که چگونه داده های تایپ نشده را از اکسل به DataTable در سی شارپ صادر کنیم.
// یک جریان فایل حاوی فایل اکسل که باید باز شود ایجاد کنید
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// نمونه سازی یک شی Workbook
//باز کردن فایل اکسل از طریق جریان فایل
Workbook workbook = new Workbook(fstream);
// به اولین کاربرگ در فایل اکسل دسترسی پیدا کنید
Worksheet worksheet = workbook.Worksheets[0];
// صادر کردن محتویات 2 ردیف و 2 ستون از سلول اول به DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
// DataTable را با DataGrid متصل کنید
dataGridView1.DataSource = dataTable;
// جریان فایل را ببندید تا همه منابع آزاد شوند
fstream.Close();
مجوز رایگان دریافت کنید
برای امتحان API بدون محدودیت ارزیابی، میتوانید یک مجوز موقت رایگان دریافت کنید.
نتیجه
در این مقاله نحوه صادرات یا تبدیل داده های Excel به ADO.NET DataTables با استفاده از سی شارپ را یاد گرفتید. آموزش گام به گام و نمونه کد نحوه برخورد با داده های تایپ شده و غیر قوی در کاربرگ ها را نشان داده است. میتوانید با استفاده از مستندات درباره C# Excel API بیشتر کاوش کنید.