ایمپورت فایل های اکسل در یونیتی

ایمپورت فایل های اکسل در یونیتی

  مشخصات آموزش

  •   زبان آموزش فارسی

Excel To Unity3dبا عرض سلامی دوباره خدمت تمامی دوستان عزیز

راستش چند وقت پیش توی فروم یونیتی فارسی داشتم یه جستجویی می کردم که دیدم یکی از کاربران نحوه ی ایمپورت فایل های اکسل در یونیتی رو درخواست داده بودند.

بعد از اون موضوع توی اینترنت که جستجو کردم به یه کد جالب برخوردم که توسط این اسکریپت میشد اطلاعات فایل اکسل رو خوند.

البته فقط فایل های اکسل ۲۰۰۳ رو میشه با این روش خوند که انشا الله اگه شد خودم نحوه خوندن فایل های اکسل ۲۰۰۷ و ۲۰۱۰ توسط یونیتی رو آموزش خواهم داد.خوب بریم سراغ آموزش خودمون:

قبل از هر کاری شما باید دو تا فایل رو به داخل یونیتی وارد کنید:

۱ – به آدرس زیر مراجعه نمایید:

C:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0

نکته : درایو C در این جا همون درایو هست که یونیتی شما اونجا نصب شده است.

۲ – در آدرس فوق فایل های زیر را پیدا کرده و به داخل نرم افزار یونیتی ایمپورت نمایید.

System.Data.dll

System.EnterpriseServices.dll

۳- بعد از این کار یک فایل اکسل ۲۰۰۳ ایجاد کنید ، اسمش رو Book1.xls بزارید و به صورت زیر ردیف های فایل اکسل تون رو پر کنید:

C B A
Z Y X ۱
۱ ۲ ۱ ۲
۲ ۳ ۲ ۳
۳ ۴ ۳ ۴

۴ – در مرحله ی بعد باید این فایل اکسل رو به داخل نرم افزار یونیتی ایمپورت کنید. برای این کار کافیه که فایل رو بگیرید و به داخل نرم افزار یونیت درگ کنید.

۵ – در مرحله ی پایانی یک اسکریپت سی شارپ ایجاد کنید و کدهای زیر رو توش بنویسید و در نهایت این اسکریپت رو ذخیره کنید و به هر شی ای که دوست داشتید اعمال کنید.

using UnityEngine;
using System.Collections;
using System; 
using System.Data; 
using System.Data.Odbc; 

public class EXCELREADER : MonoBehaviour {

	// Use this for initialization
	void Start () {
		readXLS(Application.dataPath + "/Book1.xls");
	}

	// Update is called once per frame
	void Update () {

	}

	void readXLS( string filetoread)
	{
		// Must be saved as excel 2003 workbook, not 2007, mono issue really
		string con = "Driver={Microsoft Excel Driver (*.xls)}; DriverId=790; Dbq="+filetoread+";";
		Debug.Log(con);
		string yourQuery = "SELECT * FROM [Sheet1$]"; 
		// our odbc connector 
		OdbcConnection oCon = new OdbcConnection(con); 
		// our command object 
		OdbcCommand oCmd = new OdbcCommand(yourQuery, oCon);
		// table to hold the data 
		DataTable dtYourData = new DataTable("YourData"); 
		// open the connection 
		oCon.Open(); 
		// lets use a datareader to fill that table! 
		OdbcDataReader rData = oCmd.ExecuteReader(); 
		// now lets blast that into the table by sheer man power! 
		dtYourData.Load(rData); 
		// close that reader! 
		rData.Close(); 
		// close your connection to the spreadsheet! 
		oCon.Close(); 
		// wow look at us go now! we are on a roll!!!!! 
		// lets now see if our table has the spreadsheet data in it, shall we? 

		if(dtYourData.Rows.Count > 0) 
		{ 
			// do something with the data here 
			// but how do I do this you ask??? good question! 
			for (int i = 0; i < dtYourData.Rows.Count; i++) 
			{ 
				// for giggles, lets see the column name then the data for that column! 
                Debug.Log(dtYourData.Columns[0].ColumnName + " : " + dtYourData.Rows[i][dtYourData.Columns[0].ColumnName].ToString() + 
                    "  |  " + dtYourData.Columns[1].ColumnName + " : " + dtYourData.Rows[i][dtYourData.Columns[1].ColumnName].ToString() + 
                    "  |  " + dtYourData.Columns[2].ColumnName + " : " + dtYourData.Rows[i][dtYourData.Columns[2].ColumnName].ToString()); 
			} 
		} 
	}
}

 

بعد از این که تمام مراحل بالا رو انجام دادید اگه بازی رو پلی کنید در بخش Debug Window شما ردیف های این فایل اکسل رو مشاهده خواهید کرد.

امیدوارم از این آموزش لذت برده باشید.

تا آموزشی دیگر خدا نگهدار

با تشکر

سید

۶ Responses to “ایمپورت فایل های اکسل در یونیتی”

  1. مسعود گفت:

    سلام سید
    دستت درد نکنه داداش. دل عزیزی رو شاد کردی

  2. teapot گفت:

    با سلام بسیار عالی لطفا نحوه وارد کردن ونمایش فایل های pdf و txt را هم نمایش بدهید با تشکر

  3. teapot گفت:

    با سلام من به این سایت رای دادم واز کاربران تقاضا می کنم این کار رو بکنند چون بیشتر از ادقیقه هم طول نمی کشه من که خیلی مدیون این سایت هستم.
    به نظر من این سایت به قطب آموزش یونیتی تبدیل شده….
    توی این مدت آقای محمود زاده بدون هیچ چشم داشتی برای ما زحمت کشیده پس ما هم باید جبران کنیم.البته دوتا کلیک قابل سید جان رو نداره ولی این سایت بیشتر مال ماست تا خود سید چون ما با این سایت پیشرفت می کنم سید که فقط داره زحمت می کشه…
    خلاصه سرتون رو درد نیارم.ولی من می دونم حتی learningtv رتبه نیاره بازم چیزی کم نمی زاده برای سایت پس یا علی …..
    ببخشید سرتون رو درد آوردم با تشکر

  4. انارکی گفت:

    درود بر شما
    بسیار سپاس گذار از آموزش مفیدتون
    خیلی کنجکاوم بدونم منبع آموزشی تون کجاست؟
    انشالله آموزش ایمپورت کردن فایل های PDF و Word رو هم بتونید قرار بدید
    بازم ممنون خیلی عالی بود
    موفق و سرببلند باشید

ارسال دیدگاه

نام (*)
پست الکترونیکی (*)
وبسایت

  مشخصات مدرس

محمودزاده بخت آباد سید حامد
دانشجوی رشته مهندسی مکانیک از دانشگاه سیستان وبلوچستان علاقه مند به مباحث گرافیکی انجام چندین طراحی شامل: طراحی تیزر - کلیپ - سایت و.... در حال حاضر مدیریت سایت Learningtv.ir رو برعهده دارم. در کل عاشق بازی سازی با یونیتی هستم.