رفتن به مطلب
  • 0

گرفتن خروجی اکسل از دیتابیس


mahfelsoft

سوال

دوستان کسی میدونه چطورکاربر میتونه از توی برنامه از دیتابیس خروجی اکسل بگیره ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

0 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام،

اگه اندروید استودیو و جاوا کار میکردید میشد یه کارهایی کرد! چرا که کتابخانه های متعددی برای جاوا وجود دارن که میشه باهاشون فایل های Excel تولید کرد.

سریع ترین راهی که در حال حاضر میتونه کمکتون کنه به نظرم استفاده از فایل های CSV هستش! 

ساختار کلی این فایل ها به این شکله:

R1C1,R1C2,R1C3
R2C1,R2C2,R2C3
R3C1,R3C2,R3C3
R4C1,R4C2,R4C3
R5C1,R5C2,R5C3

R به معنای Row یا سطر، و C به معنای Column یا ستون هستش.

R3C2 به معنای سطر سوم، ستون دوم. به این صورت که هر سطر در این ساختار با CRLF یا newLine یا n\ از هم جدا میشن و هر ستون هم با کاما مشخص میشه.

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

#If JAVA
	public String getCsvText(android.database.Cursor cursor) {
		StringBuilder sb = new StringBuilder();
		cursor.moveToFirst();
		if (cursor.getCount() > 0) {
			for (int i = 0; i < cursor.getCount(); i++) {
				cursor.moveToPosition(i);
				if (i == 0) {
					for (int j = 0; j < cursor.getColumnCount(); j++) {
						sb.append(cursor.getColumnName(j));
						if (j != cursor.getColumnCount() - 1)
							sb.append(",");
						else
							sb.append("\n");
					}
				}
				for (int j = 0; j < cursor.getColumnCount(); j++) {
					sb.append(cursor.getString(j));
					if (j != cursor.getColumnCount() - 1)
						sb.append(",");
					else
						sb.append("\n");
				}
			}
		} else {
			sb.append("");
		}
		return sb.toString();
	}
#End If

 

این کد رو در بین کدهای B4A خودتون بذارید و به شکل زیر ازش استفاده کنید.

این اشیا رو در نظر بگیرید:

	Dim cursor1 As Cursor
	Dim sql1 As SQL
	Dim jObj As JavaObject

 

در رویداد Activity_Create:

	If FirstTime Then
		jObj.InitializeContext
	End If

جایی که میخواید از یک پرس و جو یا Query فایل CSV تولید کنید:

	cursor1 = sql1.ExecQuery("SELECT * FROM Table")
	Dim strCSV As String = jObj.RunMethod("getCsvText",Array As Object(cursor1))
	File.WriteString(File.DirRootExternal,"export.csv",strCSV)

به این صورت خروجی در فایلی با نام export.csv در DirRootExternal ذخیره میشه...

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...