通常是先保存成.csv文件,容易查看速度快。回公司再导入这是VB.net的例子,改下就行保存csv: Private Sub btnFileOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFileOut.Click
Try
Dim sfd As New SaveFileDialog
sfd.Filter = "Excel文件(*.csv)|*.csv|所有文件(*.*)|*.*"
'sfd.Filter = "Excel文件(*.xls)|*.xls|所有文件(*.*)|*.*"
sfd.FilterIndex = 1
sfd.Title = "导出到Excel"
sfd.InitialDirectory = "d:\"
sfd.RestoreDirectory = False
If sfd.ShowDialog = DialogResult.OK Then
Dim fs As New IO.FileStream(sfd.FileName, IO.FileMode.Create)
Dim sw As New IO.StreamWriter(fs, System.Text.Encoding.Unicode)
Dim title As String = ""
Dim i As Integer
'写列标题
For i = 0 To DataGridView1.ColumnCount - 1
title = DataGridView1.Columns(i).HeaderText
sw.Write(title)
If iDataGridView1.ColumnCount - 1 Then
sw.Write(ControlChars.Tab)
End If
Next
sw.WriteLine("")
'写内容
Dim x As Integer
Dim y As Integer
For x = 0 To DataGridView1.RowCount - 1
For y = 0 To DataGridView1.ColumnCount - 1
If DataGridView1.Rows(x).Cells(y).Value Is DBNull.Value Then
sw.Write("")
Else
sw.Write(DataGridView1.Rows(x).Cells(y).Value)
End If
If yDataGridView1.ColumnCount - 1 Then
sw.Write(ControlChars.Tab)
End If
Next
sw.WriteLine("")
sw.Flush()
Next
fs.Close()
End If
MessageBox.Show("ファイル出力に成功します。")
Catch ex As Exception
MessageBox.Show("予期せぬエラーが発生しました。")
End Try
End Sub'从csv导入到DB
Private Sub btnDataIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDataIn.Click
Dim objDig As New OpenFileDialog
Dim objDbHelper As DbHelper
Dim sReader As System.IO.StreamReader
Dim strPath As String
Dim strCsvRow As String
Dim strColValue As String()
Dim objM009_ThreeHave As New M009_ThreeHave
Dim objDalM009ThreeHave As New DalM009ThreeHave
Dim dtTimberReturn As DataTable
Dim intSucceed As Integer
Dim intFail As Integer
Try
objDig.Filter = System.Configuration.ConfigurationManager.AppSettings.Get("ImportFiltercsv")
If objDig.ShowDialog = DialogResult.OK Then
Me.Cursor = Cursors.WaitCursor
strPath = objDig.FileName
sReader = New System.IO.StreamReader(strPath, System.Text.Encoding.GetEncoding(0))
While sReader.Peek > 0
strCsvRow = sReader.ReadLine
strColValue = strCsvRow.Split(",")
objM009_ThreeHave = New M009_ThreeHave
objM009_ThreeHave.ItemCode = strColValue(0)
objM009_ThreeHave.ChineseName = strColValue(1) objDbHelper = New DbHelper
'データを検索
dtTimberReturn = objDalM009ThreeHave.LoadSucceed(strColValue(0), objDbHelper)
objDbHelper.Dispose()
If dtTimberReturn.Rows.Count = 0 Then
'导入区分:成功
objM009_ThreeHave.InputFlg = 0
objDbHelper = New DbHelper
objDalM009ThreeHave.Insert(objM009_ThreeHave, objDbHelper)
objDbHelper.Dispose()
intSucceed = intSucceed + 1
End If
End If
End While
lblOK.Text = intSucceed
Me.Cursor = Cursors.Default
End If
Catch ex As Exception
MessageBox.Show("予期せぬエラーが発生しました。")
Me.Cursor = Cursors.Default
End Try
End Sub |