Winform Excel 데이터를 데이터베이스로 가져오기
public partial class ImportExcel : Form
{
AceessHelpers accessHelper = new AceessHelpers();
public ImportExcel()
{
InitializeComponent();
}
private void btn_importExcelData(object sender, EventArgs e)
{
openFileDialog1.Title = " ";
openFileDialog1.ShowHelp = true;
openFileDialog1.RestoreDirectory = true;
//openFileDialog1.Filter = "Excel (*.xlsx)|(*.xls)";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
this.txt_path.Text = openFileDialog1.FileName;
}
}
private void btn_upload_Click(object sender, EventArgs e)
{
string path = openFileDialog1.FileName;
System.Data.DataTable dt = GetDataTable(path);
int result = 0;
for (int i = 1; i < dt.Rows.Count; i++)
{
string sql = "insert into Products (ProductName,Area,ProductCategory,Customer,Style,StructureStyle,Width,Square,Other) values ('" +
Convert.ToString(dt.Rows[i]["F1"]) + "','" + Convert.ToString(dt.Rows[i]["F2"]) + "','" + Convert.ToString(dt.Rows[i]["F3"]) + "','" +
Convert.ToString(dt.Rows[i]["F4"]) + "','" + Convert.ToString(dt.Rows[i]["F5"]) + "','" + Convert.ToString(dt.Rows[i]["F6"]) + "','" +
Convert.ToString(dt.Rows[i]["F7"]) + "','" + Convert.ToString(dt.Rows[i]["F8"]) + "','" + Convert.ToString(dt.Rows[i]["F9"]) + "')";
int j = accessHelper.ReturnSql(sql);
result = j++;
}
if (result > 0)
{
this.Close();
}
}
///
/// excel
///
/// excel
///
protected System.Data.DataTable GetDataTable(string strExcelFileName)
{
//DataSet myDs = new DataSet();
System.Data.DataTable dt = new System.Data.DataTable();
DataRow myRow;
object oMissing = System.Reflection.Missing.Value;
Microsoft.Office.Interop.Excel.Application application = new Microsoft.Office.Interop.Excel.Application(); ;
Microsoft.Office.Interop.Excel.Workbooks workbooks;
//Microsoft.Office.Interop.Excel.Worksheet worksheet;
Microsoft.Office.Interop.Excel.Workbook workbook;
workbooks = application.Workbooks;
workbook = returnworkbook(strExcelFileName, workbooks);
//worksheet = (Worksheet)workbook.Sheets[1];
for (int sheetint = 1; sheetint < 2; sheetint++)// DateTime.Now.Day Convert.ToDateTime(TextBox4.Text.Trim()).Day;// myBook.Worksheets.Count;// sheet
{
Worksheet mySheet = (Worksheet)workbook.Worksheets[sheetint];
int rowsint = mySheet.UsedRange.Cells.Rows.Count; //
int columnsint = mySheet.UsedRange.Cells.Columns.Count;//
if (sheetint == 1)
{
for (int i = 1; i <= columnsint; i++)
{
dt.Columns.Add("F" + i.ToString(), System.Type.GetType("System.String"));
}
}
for (int i = 2; i <= rowsint; i++) // ,
{
myRow = dt.NewRow();
for (int j = 1; j <= columnsint; j++)
{
Range r = (Range)mySheet.Cells[i, j];
string strValue = r.Text.ToString();
string columnname = "F" + j.ToString();
myRow[columnname] = (strValue.Length == 0 || strValue.Contains("#")) ? " " : strValue;
}
try
{
dt.Rows.Add(myRow);
}
catch { }
}
}
workbook.Close(oMissing, oMissing, oMissing);
workbooks.Close();
application.Quit();
return dt;
}
private Workbook returnworkbook(string filename, Workbooks works) //
{
Microsoft.Office.Interop.Excel.Workbook wk = works.Open(
filename, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing);
return wk;
}
}
다음으로 전송:https://www.cnblogs.com/kennyliu/p/3965227.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.