ซ่อมคอมพิวเตอร์นอกสถานที่ บางกะปิ รามคำแหง

วันอาทิตย์ที่ 15 กรกฎาคม พ.ศ. 2555

Convert number to Thai bath with Excel by .Net

โค้ดการใช้ Excel function() ช่วยในการแปลงค่าตัวเลขเป็นจำนวนเงินไทย
เห็นมีของ php เค้าและ เลยไปหาของ .Net มามั่งครั้นจะเขียนโค้ดเอา ก็ดูของ php เค้าไปประยุกต์ก็ได้เลยจุดประกายให้หาวิธีอื่นครับ 
ซึ่งพอดีได้ลองใช้ function ชื่อ BATHTEXT() ของ Excel พอดีเลยคิดว่าเป็น Windows Program เหมือนกัน และ .Net ก็สามารถ
reference มาใช้ได้เลยลองหาวิธีดูครับ นำไปประยุกต์ใช้ได้ทั้ง Window form และ Web form นะครับ แต่ของ Web อาจจะต้องเพิ่มเติมนิดหน่อย ตอนนำไปใช้ จะได้ง่ายขึ้นมาหน่อยนะครับ

** function BATHTEXT() ของ Excel ไม่แน่ใจว่ามีมาตั้งแต่ version อะไรนะครับ แต่ที่ บ. ผมมี Office2003 กับ 2007 อยู่ก็มีใช้อยู่แล้วครับ

ก่อนเริ่มเขียน code เลยนะครับ ก็ต้อง add refferenc ของ Excel เข้ามาก่อน ตามรูปเลยนะครับ
addref_menu

หลังจากนั้นเลือก tab COM ครับ เลื่อนลงไปหา Microsoft Excel 12 Object Libraly หรือของบางคนอาจจะขึ้นเป็น Microsoft Excel 2007 Object Libraly ก็ได้ครับ เหมือนกัน เสร็จแล้วก็ไปส่วนของ code เลยครับ

Code .Net 2008 (C#)

using System.ComponentModel;

ตัวอย่างขอเป็น Window Form แล้วกันนะครับง่ายดี ของ Web ก็เรียกใช้เหมือนกันครับ
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
*ที่ Form จะมี Add 1 Textbox และ 1 Label ไว้นะครับ 
}

public void TextBox1_TextChanged(object sender, EventArgs e)
{
Mircrosoft.Office.Interop.Excel.Application xcel = new Microsoft.Office.Interop.Excel.Application();
try
{
System.Threading.Thread cThread;
cThread = System.Threading.Thread.CurrentThread;
cThread.CurrentCulture = new CultureInfo("en-US");
Label1.Text = xcel.WorkSheetFunction.BahtText(Convert.ToDouble(TextBox1.Text));
}
catch
{
Label1.Text = "";
}
}
}


Output 

result_bathtext 

0 ความคิดเห็น:

แสดงความคิดเห็น