获取版本号:Application.ProductVersion /// <summary> /// 将文件转换成二进制流数据 /// </summary> /// <param name="path">文件的完整路径(包括文件名)</param> /// <returns></returns> public static byte[] GetByteOfFile(string path) { FileInfo fi = new FileInfo(path); using (FileStream fs = fi.OpenRead()) { byte[] bytes = new byte[fs.Length]; fs.Read(bytes, 0, Convert.ToInt32(fs.Length)); return bytes; } } /// <summary> /// 将二进制流数据保存为本地文件,如果文件已经存在将删除并重新创建 /// </summary> /// <param name="fileName">文件的完整路径</param> /// <param name="file">二进制流数据</param> public static void SaveFile(string fileName, byte[] file) { if (File.Exists(fileName)) { File.Delete(fileName); } FileStream fs = new FileStream(fileName, FileMode.CreateNew); BinaryWriter bw = new BinaryWriter(fs); bw.Write(file, 0, file.Length); bw.Close(); fs.Close(); } /// <summary> /// 从Excel中导入数据 /// </summary> /// <param name="TableName">表名</param> /// <param name="FileName">文件路径</param> /// <returns>返加要导入的数据</returns> static public DataTable ImputExcel(string TableName,string FileName) { String sConnectionString="provider=Microsoft.Jet.OLEDB.4.0; " +"data source="; sConnectionString += FileName + ";" + "Extended Properties=Excel 8.0;"; string sql=string.Empty; sql = "SELECT * FROM ["+TableName+"$]"; OleDbConnection conn; try { conn = new OleDbConnection(sConnectionString); } catch (Exception ex) { MessageBox.Show(ex.Message, "连接字符串错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } OleDbCommand cmd = new OleDbCommand(sql,conn); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(); dataAdapter.SelectCommand = cmd; DataTable dataTable=new DataTable(); try { dataAdapter.Fill(dataTable); } catch (Exception ex) { MessageBox.Show(ex.Message, "读取Excel错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } return dataTable; } static public void OutputExcel(DataTable OutputDataTable, string saveFileName) { bool fileSaved = false; string mySql = string.Empty; string helpSql = string.Empty; string FileName = OutputDataTable.TableName; Excel.Application xlApp = new Excel.Application(); if (xlApp == null) { MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel"); return; } Excel.Workbooks workbooks = xlApp.Workbooks; Excel.Workbook workbook = workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Worksheet worksheet = (Excel.Worksheet)workbook.Worksheets[1];//取得sheet1 workbooks.OpenXML(saveFileName, Excel.XlSheetType.xlWorksheet, LoadOption.Upsert); worksheet.Name = FileName; //写入字段 for (int i = 0; i < OutputDataTable.Columns.Count; i++) { string columnName = OutputDataTable.Columns[i].ColumnName; worksheet.Cells[1, i + 1] = columnName; mySql += columnName + ","; helpSql += "?,"; } mySql = mySql.Substring(0, mySql.Length - 1); helpSql = helpSql.Substring(0, helpSql.Length - 1); string sqlInsert = "INSERT INTO [" + FileName + "$]" + "(" + mySql + ")" + " values " + "(" +helpSql+")"; //INSERT INTO [Sheet1$] (F1, F2) values (?, ?) //保存Excel try { workbook.Saved = true; workbook.SaveCopyAs(saveFileName); fileSaved = true; } catch (Exception ex) { fileSaved = false; MessageBox.Show("导出文件时出错,文件可能正被打开!/n" + ex.Message); } xlApp.Quit();//关闭EXCEL GC.Collect(); //读取Excel架构 if (fileSaved == true) { String sConnectionString = "provider=Microsoft.Jet.OLEDB.4.0; " + "data source="; sConnectionString += saveFileName + ";" + "Extended Properties=Excel 8.0;"; string sql = string.Empty; sql = "SELECT * FROM [" + FileName + "$]"; OleDbConnection conn; try { conn = new OleDbConnection(sConnectionString); } catch (Exception ex) { MessageBox.Show(ex.Message, "连接字符串错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } OleDbCommand cmd = new OleDbCommand(sql, conn); OleDbDataAdapter dataAdapter = new OleDbDataAdapter(); dataAdapter.SelectCommand = cmd; OleDbCommand cmd2 = new OleDbCommand(sqlInsert, conn); dataAdapter.InsertCommand = cmd2; DataTable dataTable = new DataTable(); try { dataAdapter.Fill(dataTable); } catch (Exception ex) { MessageBox.Show(ex.Message, "读取Excel错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } conn.Open(); foreach (DataRow dr in OutputDataTable.Rows) { foreach (DataColumn dc in dataTable.Columns) { cmd2.Parameters.AddWithValue(dc.ColumnName, dr[dc.ColumnName]); } //cmd2.ExecuteNonQuery(); } conn.Close(); } } using System.Threading; namespace WindowsApplication1 { //保证应用程序只有单个实体 static class Program { private static Mutex mutex; /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mutex = new Mutex(true, "single"); if (mutex.WaitOne(0, false)) { Application.Run(new Form1()); } else { MessageBox.Show("应用程序正在运行","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Information); } } } }