|
|
|
ขอวิธีการนำข้อมูลใน excel ที่ต้องตัดบางคอลัมน์เพื่อ importsql หน่อยครับ |
|
|
|
|
|
|
|
จะใช้โปรแกรมหรือว่าอะไรครับ หรือว่าเขียน SQL Statement ครับ
|
|
|
|
|
Date :
2018-06-06 14:20:27 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนะนำแทนการเขียนให้นะครับ คือต้องใช้ EPPlus.dll
หลัการคือ loop ตรวจสอบแถวของ Column A ว่าเป็นตัวเลขหรือเปล่า(แบบง่ายก่อน)
จากนั้น ว่าจะไม่เขียน 5555 (กลัวผิด ลองเอาไปปรับดูนะครับ เพราะ code นี้ผมแปลงมาจากของผมอีกที อาจจะมีผิดก็แก้ไขก่อนนะครับ)
Code (C#)
try
{
string sqlQuery = string.Empty;
FileInfo workBook = new FileInfo(@"D:\invoice0012.xlsx");
using (ExcelPackage xlPackage = new ExcelPackage(workBook))
{
ExcelWorksheet invWorksheet = xlPackage.Workbook.Worksheets["Sheet1"];
for (int rowNumber = 10; rowNumber <= 50; rowNumber++) //ไม่รู้ว่าเริ่มจากแถวไหนและสูงสุดกี่แถว เอาตามที่เห็นก่นอ
{
int myVal = 0;
object col1Value = invWorksheet.Cells[rowNumber, 1].Value;
String myVar = col1Value.ToString();
if (int.TryParse(myVar , out myNum)) {
object col2Value = invWorksheet.Cells[rowNumber, 2].Value;
object col3Value = invWorksheet.Cells[rowNumber, 3].Value;
if( sqlQuery == string.Empty ){
sqlQuery = "insert into (xxxx,xxx) values ( " + col2Value.ToString(); + ","+col3Value.ToString();+")";
}else{
sqlQuery += ", ( " + col2Value.ToString(); + ","+col3Value.ToString();+")";
}
} else {
}
}
}
MessageBox.Show(sqlQuery);
}
catch (IOException ioEx)
{
if (!String.IsNullOrEmpty(ioEx.Message))
{
if (ioEx.Message.Contains("because it is being used by another process."))
{
Console.WriteLine("Could not read example data. Please make sure it not open in Excel.");
}
}
Console.WriteLine("Could not read example data. " + ioEx.Message);
}
catch (Exception ex)
{
Console.WriteLine("An error occured while reading example data. " + ex.ToString());
}
ผิดถูกก็ขออภัยด้วยนะครับผม
|
|
|
|
|
Date :
2018-06-07 11:32:14 |
By :
บัญดิษฐ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|