PDA

View Full Version : import data از طریق برنامه



mandana.k
سه شنبه 04 دی 1386, 07:51 صبح
دوستان،
من یک برنامه نوشته ام ومی خواهم یک فایل excle را ازطریق برنامه به database(oracle(
import کنم
تکه برنامه من این است اما این کار انجام نمی شودونمی دانم مشکل از کجاست.


[Imports Microsoft.Office.Interop.Excel

Dim sqlString As String
""=Me.OpenFileDialog1.InitialDirectory
"Me.OpenFileDialog1.Title = "Select the Excel File to import from
"*.*|(*.*) Me.OpenFileDialog1.Filter = "Excel(*.xls)|*.xls|All files

If Me.OpenFileDialog1.ShowDialog <> DialogResult.Cancel Then
sqlString = "INSERT INTO test SELECT * from [Excel 8.0;DATABASE=" & OpenFileDialog1.FileName & ";HDR=YES;IMEX=1].[Sheet1$];"[LEFT][/LEFT
Else
( "MsgBox("File not exists
Exit Sub
End If
"" = OpenFileDialog1.FileName
Dim oApB As New CAppBase
(oApB.ExeCom(sqlString, CEnums.SQLType.Reader
( " MsgBox("Successfully Imported
()oApB.CloseCN
:ناراحت:

reza_rad
سه شنبه 04 دی 1386, 08:18 صبح
لطفا کدتون را داخل تگ کد بگذارید...
http://www.thescripts.com/forum/post429476-5.html

MH2538
چهارشنبه 05 دی 1386, 09:30 صبح
۱ - دستور select شما مشکل دارد. در ضمن بهتر است ابتدا با یک select اطلاعات را وارد یک دیتاست کنید و سپس پس از اعمال تغییرات لازمه اون رو وارد بانک کنید.
2-نکته من مدتی پیش دقیقاض همین کار رو و بر روی همین دیتابیس انجام دادم
اما یک مشکل جدی وجود دارد . اگر شما در ستونی، در ردیف‌های مختلف مثلاً در یک ردیف string و در ردیف دیگر عدد داشته باشید به مشکل بر خواهید خورد. برای حل این مشکل مجبور قید این روش رو بزنم و در عوض یک فایل excel رو باز کنم. در این حالت قدرت عمل فوق العاده زیادی بدست آوردم.
برای راهنمایی یک قسمت از ابتدای کد رو می‌گذارم


Excel.Application objApp;
Excel._Workbook objBook;
private object m_objOpt = System.Reflection.Missing.Value;

OpenFileDialog OFD = new OpenFileDialog();
DataSet dsRecords = new DataSet();
DataSet dsReportType = new DataSet();
Microsoft.Office.Interop.Excel.Workbook excel = null;
StringBuilder sbConn = new StringBuilder();
...
...
try
{
if (objApp != null)
objApp.Quit();
}
catch
{
}
objApp = new Excel.Application();
objApp.Workbooks._Open(strExcelFilePath, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

lStatus.Text = "در حال خواندن صفحات ...";
lStatus.Refresh();
EnumerateSheets(true,false);
lStatus.Text = "";