Excel의 SqlServer에 직접 데이터를 업로드하는 코드 제공:
적절하게 수정될 수 있습니다
FormName은 데이터베이스의 테이블입니다.
DBString은 데이터베이스 연결 필드입니다.
Sub UploadData()
FormName = ""이면 Sub를 종료하세요
새로운 ADODB.Connection으로 Dim
새로운 ADODB.Recordset으로 Dim b
a.DBString 열기
RowCount = Application.CountA(행("1:1"))
For i = 2 application.counta(range("a:a"))로
sql = ""
세트 b = 없음
j = 1에서 RowCount로 - 1
sql = sql & "'" & Cells(i, j) & "', "
다음
sql = "" & FormName & "values(" & sql & "'" & Cells(i, RowCount) & "')"에 삽입
b.오픈 소스:=sql, ActiveConnection:=a
다음
MsgBox "알았어!"
끝 서브
다양한 방법이 있으니 적합한 방법을 찾으세요.
작업을 완료하려면 데이터베이스의 연결 속성을 이해해야 합니다. 다음은 실제 상황에 따라 수정할 수 있는 연결 필드입니다.
공급자=SQLOLEDB.1;지속 보안 정보=False;사용자 ID=md-inspection;PWD=mdOL20!31)25;초기 카탈로그=Online_Inspection;데이터 소스=Cduvmdb01,1433
또한 관련 참조를 VBE 페이지에 추가해야 합니다:
환경: c#.2005+Access+ Sql
1. DataTable을 데이터베이스에 삽입하세요
public static void DataTableToDB()
{
string _strExcelFileName = @"D:example.xls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
for (int i = 0; i
{
InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
}
}
2. Excel 데이터를 DataTable로 읽어옵니다
공개 정적 DataTable ExcelToDataTable(문자열 strExcelFileName, 문자열 strSheetName)
{
string strConn = "공급자=Microsoft.Jet.OLEDB.4.0;" + "데이터 소스="" + strExcelFileName + ";"" +"확장 속성=Excel 5.0;";
string strExcel = string.Format("[{0}$]에서 * 선택", strSheetName);
DataSet ds = 새 DataSet();
(OleDbConnection conn = new OleDbConnection(strConn)) 사용
{
conn.Open();
OleDbDataAdapter 어댑터 = 새로운 OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}
3. Access 데이터베이스 테이블에 데이터 삽입
public static void InsertDataToAccess(string _strPara,float _fPara)
{
OleDbConnection oleDbConn = 새로운 OleDbConnection();
oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;데이터 소스=C:ExcelData.mdb;사용자 ID=admin;Password=;";
oleDbConn.Open();
string strInsertString = "tb_excelData(strCollumn1,fCollumn2) VALUES(@strCollumn1,@fCollumn2)에 삽입";
OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);
oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);
oComm.Parameters["@strCollumn1"].Value = _strPara;
oComm.Parameters.Add("@fCollumn2", OleDbType.Double);
oComm.Parameters["@fCollumn2"].Value = _fPara;
ocomm.ExecuteNonQuery();
oleDbConn.Close();
}
코드는 다음과 같습니다.
하위 파일 병합()
Dim wb를 통합 문서로, sh를 워크시트로, pT를 문자열로, wb2를 통합 문서로, t
t = 타이머
'관련 없는 통합 문서가 열려 있는지 감지
Workbooks.Count > 1이면
MsgBox "열려 있는 다른 통합 문서를 닫으세요"
구독 종료
끝나면
'파일이 위치한 폴더를 지정하세요
Application.FileDialog(msoFileDialogFolderPicker) 사용
.쇼
If .SelectedItems.Count = 0 Then Exit Sub '취소를 누르거나 X가 대화 상자를 닫으면 바로 종료합니다
pT = .SelectedItems(1)
끝
Application.ScreenUpdating = False '화면 새로고침 끄기
Application.DisplayAlerts = False '대화상자 닫기
'New.xls라는 이름의 새 워크시트를 만듭니다
Set wb = 통합 문서.Add
shJS = wb.Worksheets.Count
fn = Dir(pT & "*.xls")
fn중 ""
fn = wb.Name이면 GoTo gg
나 = 나 + 1
내가 > shJS라면
sh = wb.Worksheets.Add(이후:=wb.Worksheets(wb.Worksheets.Count))를 설정
끝나면
wb2 = Workbooks.Open(fn, ReadOnly = True) 설정
wb2.Worksheets(1).Cells.Copy wb.Worksheets(i).Cells
wb.Worksheets(i).Name = 왼쪽(fn, Len(fn) - 4)
wb2.닫기
gg:
fn=디르
수요일
wb.Save As pT & "new.xls"
wb.닫기
Application.ScreenUpdating = True '화면 새로고침 켜기
Application.DisplayAlerts = True '대화 상자 열기
MsgBox "공유 시간" & 타이머 - t & "초. 새 파일 new.xls 생성"
끝 서브
데이터베이스의 테이블 A, 필드는 A1, A2, A3, a4, a5
스프레드시트 d:shuju.xls
b1, b2, b3, b4, b5 항목이 포함되어 있습니다
dbo.A에 삽입
(a1,a2,a3,a4,a5)
b1,b2,b3,b4,b5를 선택하세요
오픈데이터소스('Microsoft.Jet.OLEDB.4.0',
'데이터 소스=d:shuju.xls;확장 속성=EXCEL 8.0' )...[Sheet1$] Rowset_1
이런 방법으로 가져올 수도 있습니다. 물론 컨트롤 TXLSFile을 사용할 수도 있습니다. 필요하면 저에게 요청하세요
mchestnut@163.com
위 내용은 SQLServer로 가져오는 Excel의 소스 코드 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!