Files
N_XLXSBJ----MX/XLBJD_WBBJDDRInfo.aspx.cs
2026-08-21 17:03:02 +08:00

528 lines
24 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MODEL.Page;
using GThinking.N_WORKFLOW;
using GThinking.N_MODEL.Dialog;
using GThinking.N_PUBLIC;
using GThinking.N_MISPRO.Utility;
using GThinking.N_CONTROL;
using System.IO;
using System.Data.OleDb;
using System.Data.Common;
using GThinking.N_MISPROAS;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class XLBJD_WBBJDDRInfo : SingleCardBase
{
XLBJD_WBBJDDREntity entity = new XLBJD_WBBJDDREntity();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860043;
this.UMName = "外部线缆产品导入";
base.CurMaster = Master;
base.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
Server.ScriptTimeout = 3600;
fupdPost.FileSaveType = gtAsyncFileUpload.DFileSaveType.SaveToPath;
if (AppRuntime.BitType == AppBitType.Bit32)
fupdPost.Filter = "XLS";
else // AppBitType.Bit64
fupdPost.Filter = "XLS,XLSX";
base.InitPage();
Server.ScriptTimeout = 3600;
if (!IsPostBack)
{
chkSheet.Checked = false;
cbxSheetList.Enabled = false;
}
}
#region 控件事件
protected void btnQD_Click(object sender, EventArgs e)
{
if (fupdPost.FileName.Equals(""))
{
ShowMessage("请选择需要导入的文件!");
return;
}
else
{
if (!txtLastPath.Value.Trim().Equals(""))
{
if ((fupdPost.FilePath != txtLastPath.Value) && !cbxSheetList.SelectedValue.Trim().Equals(""))
{
ShowMessage("导入文件已发生变化,请重新指定导入页面!");
chkSheet_CheckedChanged(null, null);
return;
}
}
}
if (txtHHS.Value > txtHHZ.Value)
{
ShowMessage("栏目行号始不能大于止!");
return;
}
if (txtHHS.Value <= 0)
{
ShowMessage("栏目行号始不能小于0!");
return;
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
Dictionary<string, string> dicLMMC = new Dictionary<string, string>();
string sDRSJ = DateTime.Now.ToString();
//当前报价单ID
string sBJDID = PageParam.GetRTrimString("BJDID");
string sHTBH = "";
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH")))
{
sHTBH = PageParam.GetRTrimString("HTBH");
}
if (cbxSheetList.SelectedValue.Trim().Equals(""))
{
DataSet aDataExcel = new DataSet();
if (AppRuntime.BitType == AppBitType.Bit32)
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, false, "");
else // AppBitType.Bit64
ReadWJ(fupdPost.FilePath, "", ref aDataExcel);
ExcelColumnName(Convert.ToInt32(txtHHS.Value), Convert.ToInt32(txtHHZ.Value), aDataExcel, dicLMMC);
//
string sFileName = fupdPost.FileName;
string sSheetName = GetDefaultSheetName(fupdPost.FilePath);
XLWBBJDUtils.DeleteInValidEmptyRow(ref aDataExcel);
ExecDRSQL(dberp, sSQL, aDataExcel, dicLMMC, sBJDID, sHTBH, sDRSJ, sFileName, sSheetName);
}
else
{
string[] sSheetList = cbxSheetList.SelectedValue.Split(',');
for (int i = 0; i < sSheetList.Length; i++)
{
DataSet aDataExcel = new DataSet();
if (AppRuntime.BitType == AppBitType.Bit32)
aDataExcel = XLBJDUtils.ReadFromExcelFile(fupdPost.FilePath, false, sSheetList[i]);
else // AppBitType.Bit64
ReadWJ(fupdPost.FilePath, sSheetList[i], ref aDataExcel);
ExcelColumnName(Convert.ToInt32(txtHHS.Value), Convert.ToInt32(txtHHZ.Value), aDataExcel, dicLMMC);
//
string sFileName = fupdPost.FileName;
string sSheetName = sSheetList[i];
XLWBBJDUtils.DeleteInValidEmptyRow(ref aDataExcel);
ExecDRSQL(dberp, sSQL, aDataExcel, dicLMMC, sBJDID, sHTBH, sDRSJ, sFileName, sSheetName);
}
}
dberp.CommitTrans();
ShowMessage("导入成功!");
CloseWindow();
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnCallBack"));
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
protected void chkSheet_CheckedChanged(object sender, EventArgs e)
{
if (chkSheet.Checked)
{
if (fupdPost.FileName.Equals(""))
{
ShowMessage("请选择需要导入的文件!");
chkSheet.Checked = false;
return;
}
cbxSheetList.Enabled = true;
cbxSheetList.ClearItems();
cbxSheetList.SelectedValue = "";
string connStr = GetConnString(fupdPost.FilePath);
OleDbConnection m_conn = new OleDbConnection(connStr);
m_conn.Open();
DataTable sheetNames = m_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
if (sheetNames.Rows[0].Table.Rows.Count == 1)
{
string sSheetName = sheetNames.Rows[0].Table.Rows[0]["TABLE_NAME"].ToString().Trim();
if (sSheetName.StartsWith("'") && sSheetName.EndsWith("'"))
sSheetName = sSheetName.TrimStart('\'').TrimEnd('\'');
if (sSheetName.EndsWith("$"))
sSheetName = sSheetName.TrimEnd('$');
cbxSheetList.Items.Add(new ListItem(sSheetName, sSheetName));
cbxSheetList.SelectedValue = sSheetName;
}
else
{
for (int i = 0; i < sheetNames.Rows[0].Table.Rows.Count; i++)
{
string sSheetName = sheetNames.Rows[0].Table.Rows[i]["TABLE_NAME"].ToString().Trim();
if (sSheetName.StartsWith("'") && sSheetName.EndsWith("'"))
sSheetName = sSheetName.TrimStart('\'').TrimEnd('\'');
if (sSheetName.EndsWith("$"))
sSheetName = sSheetName.TrimEnd('$');
cbxSheetList.Items.Add(new ListItem(sSheetName, sSheetName));
}
}
if (m_conn.State == ConnectionState.Open)
{
m_conn.Dispose();
m_conn = null;
}
txtLastPath.Value = fupdPost.FilePath;
FormAreaUpdate();
}
else
{
cbxSheetList.ClearItems();
cbxSheetList.SelectedValue = "";
cbxSheetList.Enabled = false;
FormAreaUpdate();
}
}
// 根据32/64位运行时返回不同的连接字符串。
private string GetConnString(string sPath)
{
string conn;
if (AppRuntime.BitType == AppBitType.Bit32)
{
conn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + sPath + ";" + "Extended Properties=Excel 8.0;";
//conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sPath + @";Extended Properties=""Excel 8.0;IMEX=1;ImportMixedTypes=Text""";
}
else // AppBitType.Bit64
{
conn = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + sPath + ";" + "Extended Properties=Excel 8.0;";
}
return conn;
}
#endregion
#region 自定义事件
private void ExecDRSQL(TDatabase dberp, TSQL sSQL, DataSet ds, Dictionary<string, string> dicLMMC, string sBJDID, string sHTBH, string sDRSJ, string sFileName, string sSheetName)
{
int iTotalRecords = ds.Tables[0].Rows.Count - CMISproConvert.StrToInt(txtHHZ.Value.ToString());
int Rcount = CMISproConvert.StrToInt(GetOption(100860043, "BJU069"));
int iZFS = iTotalRecords / Rcount;
if (iTotalRecords % Rcount > 0)
iZFS++;
int iMLFZH = CMISproDataBase.GetMaxXH("DBERP", "XLWBBJDML", "XLWBBJDML_MLFZH", "") + 1;
for (int iDRtimes = 1; iDRtimes <= iZFS; iDRtimes++)
{
string sWBBJDID = XLWBBJDUtils.GetNewWBBJDID();
#region 生成XLWBBJDML表数据--WBBJDID|外部报价单/BJDID
sSQL.Clear();
sSQL.Add("insert into XLWBBJDML");
sSQL.Add(" ( XLWBBJDML_BJDID,XLWBBJDML_WBBJDID,XLWBBJDML_SJLY,XLWBBJDML_WBBJDMC,XLWBBJDML_MLFZH,XLWBBJDML_FS,XLWBBJDML_FSXH,XLWBBJDML_EXCEL,XLWBBJDML_SHEET, ");
sSQL.Add(" XLWBBJDML_LMHHS,XLWBBJDML_LMHHZ,XLWBBJDML_NRHHS,XLWBBJDML_NRHHZ, ");
if (!string.IsNullOrEmpty(sHTBH))
{
sSQL.Add(" XLWBBJDML_HTBH, ");
}
sSQL.Add(" XLWBBJDML_DRSJ,XLWBBJDML_YCL, XLWBBJDML_WHR,XLWBBJDML_WHRID,XLWBBJDML_WHSJ ) ");
sSQL.Add(" values ");
sSQL.Add(" ( :pBJDID,:pWBBJDID,:pSJLY,:pWBBJDMC,:pMLFZH,:pFS,:pFSXH,:pEXCEL,:pSHEET, ");
sSQL.Add(" :pLMHHS,:pLMHHZ,:pNRHHS,:pNRHHZ, ");
if (!string.IsNullOrEmpty(sHTBH))
{
sSQL.Add(" :pHTBH, ");
sSQL.ParamByName("pHTBH").Value = sHTBH;
}
sSQL.Add(" :pDRSJ, :YCL, :pWHR,:pWHRID,:pWHSJ ) ");
sSQL.ParamByName("pBJDID").Value = sBJDID;
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
if (!sBJDID.Trim().Equals(""))
{
sSQL.ParamByName("pSJLY").Value = "BJCP";
}
else
{
sSQL.ParamByName("pSJLY").Value = "XSHT";
}
string sMC = sFileName + "【" + sSheetName + "】";
sMC = XLBJDUtils.SubStringFunc(sMC, 100);
string sEXECL = sFileName;
sEXECL = XLBJDUtils.SubStringFunc(sEXECL, 60);
string sSHEET = sSheetName;
sSHEET = XLBJDUtils.SubStringFunc(sSHEET, 40);
sSQL.ParamByName("pWBBJDMC").Value = sMC;
if (iZFS == 1)
{
sSQL.ParamByName("pMLFZH").Value = 0;
sSQL.ParamByName("pFS").Value = 0;
sSQL.ParamByName("pFSXH").Value = 0;
}
else
{
sSQL.ParamByName("pMLFZH").Value = iMLFZH;
sSQL.ParamByName("pFS").Value = iZFS;
sSQL.ParamByName("pFSXH").Value = iDRtimes;
}
sSQL.ParamByName("pEXCEL").Value = sEXECL;
sSQL.ParamByName("pSHEET").Value = sSheetName;
sSQL.ParamByName("pLMHHS").Value = txtHHS.Value;
sSQL.ParamByName("pLMHHZ").Value = txtHHZ.Value;
if (iDRtimes < iZFS)
{
sSQL.ParamByName("pNRHHS").Value = txtHHZ.Value + 1 + Rcount * (iDRtimes - 1);
sSQL.ParamByName("pNRHHZ").Value = Rcount * iDRtimes + txtHHZ.Value;
}
else
{
sSQL.ParamByName("pNRHHS").Value = txtHHZ.Value + 1 + Rcount * (iDRtimes - 1);
sSQL.ParamByName("pNRHHZ").Value = iTotalRecords + txtHHZ.Value;
}
sSQL.ParamByName("YCL").Value = "N";
sSQL.ParamByName("pDRSJ").Value = sDRSJ;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
#endregion
#region 生成XLWBBJDLM表数据----WBBJDID|外部报价单ID=======LMBH|栏目编号/BJDID
sSQL.Clear();
sSQL.Add("insert into XLWBBJDLM ( ");
sSQL.Add(" XLWBBJDLM_BJDID,XLWBBJDLM_WBBJDID,XLWBBJDLM_LMBH,XLWBBJDLM_LMMC,XLWBBJDLM_ZDLMLX,XLWBBJDLM_WHR,XLWBBJDLM_WHRID,XLWBBJDLM_WHSJ) ");
sSQL.Add("values ( ");
sSQL.Add(" :pBJDID,:pWBBJDID,:pLMBH,:pLMMC,:pZDLMLX,:pWHR,:pWHRID,:pWHSJ) ");
//循环dic
foreach (KeyValuePair<string, string> kvp in dicLMMC)
{
sSQL.ParamByName("pBJDID").Value = sBJDID;
sSQL.ParamByName("pWBBJDID").Value = sWBBJDID;
sSQL.ParamByName("pLMBH").Value = kvp.Key;
string sLMMC = kvp.Value;
sLMMC = XLBJDUtils.SubStringFunc(sLMMC, 60);
sSQL.ParamByName("pLMMC").Value = sLMMC;
sSQL.ParamByName("pZDLMLX").Value = "";
sSQL.ParamByName("pWHRID").Value = tSession.UserId;
sSQL.ParamByName("pWHR").Value = tSession.UserName;
sSQL.ParamByName("pWHSJ").Value = DateTime.Now;
dberp.ExecSQL(sSQL);
}
#endregion
#region 生成XLWBBJDNR表数据------WBBJDID|外部报价单ID=======DRHH|导入行号/BJDID
sSQL.Clear();
sSQL.Add("insert into XLWBBJDNR(");
sSQL.Add(" XLWBBJDNR_BJDID, XLWBBJDNR_WBBJDID, XLWBBJDNR_DRHH, ");
sSQL.Add(" XLWBBJDNR_LMNR01, XLWBBJDNR_LMNR02, XLWBBJDNR_LMNR03, XLWBBJDNR_LMNR04, XLWBBJDNR_LMNR05, XLWBBJDNR_LMNR06,");
sSQL.Add(" XLWBBJDNR_LMNR07, XLWBBJDNR_LMNR08, XLWBBJDNR_LMNR09, XLWBBJDNR_LMNR10, XLWBBJDNR_LMNR11, XLWBBJDNR_LMNR12,");
sSQL.Add(" XLWBBJDNR_LMNR13, XLWBBJDNR_LMNR14, XLWBBJDNR_LMNR15, XLWBBJDNR_LMNR16, XLWBBJDNR_LMNR17, XLWBBJDNR_LMNR18,");
sSQL.Add(" XLWBBJDNR_LMNR19, XLWBBJDNR_LMNR20, XLWBBJDNR_LMNR21, XLWBBJDNR_LMNR22, XLWBBJDNR_LMNR23, XLWBBJDNR_LMNR24,");
sSQL.Add(" XLWBBJDNR_LMNR25, XLWBBJDNR_LMNR26, XLWBBJDNR_LMNR27, XLWBBJDNR_LMNR28, XLWBBJDNR_LMNR29, XLWBBJDNR_LMNR30,");
sSQL.Add(" XLWBBJDNR_LMNR31, XLWBBJDNR_LMNR32, XLWBBJDNR_LMNR33, XLWBBJDNR_LMNR34, XLWBBJDNR_LMNR35, XLWBBJDNR_LMNR36,");
sSQL.Add(" XLWBBJDNR_LMNR37, XLWBBJDNR_LMNR38, XLWBBJDNR_LMNR39, XLWBBJDNR_LMNR40, XLWBBJDNR_LMNR41, XLWBBJDNR_LMNR42,");
sSQL.Add(" XLWBBJDNR_LMNR43, XLWBBJDNR_LMNR44, XLWBBJDNR_LMNR45, XLWBBJDNR_LMNR46, XLWBBJDNR_LMNR47, XLWBBJDNR_LMNR48,");
sSQL.Add(" XLWBBJDNR_LMNR49, XLWBBJDNR_LMNR50, XLWBBJDNR_LMNR51, XLWBBJDNR_LMNR52, XLWBBJDNR_LMNR53, XLWBBJDNR_LMNR54,");
sSQL.Add(" XLWBBJDNR_LMNR55, XLWBBJDNR_LMNR56, XLWBBJDNR_LMNR57, XLWBBJDNR_LMNR58, XLWBBJDNR_LMNR59, XLWBBJDNR_LMNR60)");
sSQL.Add("values (:XLWBBJDNR_BJDID, :XLWBBJDNR_WBBJDID, :XLWBBJDNR_DRHH, ");
sSQL.Add(" :XLWBBJDNR_LMNR01, :XLWBBJDNR_LMNR02, :XLWBBJDNR_LMNR03, :XLWBBJDNR_LMNR04, :XLWBBJDNR_LMNR05, :XLWBBJDNR_LMNR06,");
sSQL.Add(" :XLWBBJDNR_LMNR07, :XLWBBJDNR_LMNR08, :XLWBBJDNR_LMNR09, :XLWBBJDNR_LMNR10, :XLWBBJDNR_LMNR11, :XLWBBJDNR_LMNR12,");
sSQL.Add(" :XLWBBJDNR_LMNR13, :XLWBBJDNR_LMNR14, :XLWBBJDNR_LMNR15, :XLWBBJDNR_LMNR16, :XLWBBJDNR_LMNR17, :XLWBBJDNR_LMNR18,");
sSQL.Add(" :XLWBBJDNR_LMNR19, :XLWBBJDNR_LMNR20, :XLWBBJDNR_LMNR21, :XLWBBJDNR_LMNR22, :XLWBBJDNR_LMNR23, :XLWBBJDNR_LMNR24,");
sSQL.Add(" :XLWBBJDNR_LMNR25, :XLWBBJDNR_LMNR26, :XLWBBJDNR_LMNR27, :XLWBBJDNR_LMNR28, :XLWBBJDNR_LMNR29, :XLWBBJDNR_LMNR30,");
sSQL.Add(" :XLWBBJDNR_LMNR31, :XLWBBJDNR_LMNR32, :XLWBBJDNR_LMNR33, :XLWBBJDNR_LMNR34, :XLWBBJDNR_LMNR35, :XLWBBJDNR_LMNR36,");
sSQL.Add(" :XLWBBJDNR_LMNR37, :XLWBBJDNR_LMNR38, :XLWBBJDNR_LMNR39, :XLWBBJDNR_LMNR40, :XLWBBJDNR_LMNR41, :XLWBBJDNR_LMNR42,");
sSQL.Add(" :XLWBBJDNR_LMNR43, :XLWBBJDNR_LMNR44, :XLWBBJDNR_LMNR45, :XLWBBJDNR_LMNR46, :XLWBBJDNR_LMNR47, :XLWBBJDNR_LMNR48,");
sSQL.Add(" :XLWBBJDNR_LMNR49, :XLWBBJDNR_LMNR50, :XLWBBJDNR_LMNR51, :XLWBBJDNR_LMNR52, :XLWBBJDNR_LMNR53, :XLWBBJDNR_LMNR54,");
sSQL.Add(" :XLWBBJDNR_LMNR55, :XLWBBJDNR_LMNR56, :XLWBBJDNR_LMNR57, :XLWBBJDNR_LMNR58, :XLWBBJDNR_LMNR59, :XLWBBJDNR_LMNR60)");
//循环ds
int iStart = CMISproConvert.StrToInt(txtHHZ.Value.ToString()) + (iDRtimes - 1) * Rcount;
int iEnd = 0;
if (iDRtimes < iZFS)
iEnd = iStart + Rcount;
else
iEnd = ds.Tables[0].Rows.Count;
for (int i = iStart; i < iEnd; i++)
{
sSQL.ParamByName("XLWBBJDNR_BJDID").Value = sBJDID;
sSQL.ParamByName("XLWBBJDNR_WBBJDID").Value = sWBBJDID;
sSQL.ParamByName("XLWBBJDNR_DRHH").Value = i + 1;
for (int j = 1; j <= 60; j++)
{
if (j <= ds.Tables[0].Columns.Count)
{
string sLMNR = ds.Tables[0].Rows[i][j - 1].ToString().Trim();
sLMNR = sLMNR.Replace("\n", " ").Replace("\r", " ");
if (j <= 12)
sLMNR = XLBJDUtils.SubStringFunc(sLMNR, 250);
else
sLMNR = XLBJDUtils.SubStringFunc(sLMNR, 60);
sSQL.ParamByName("XLWBBJDNR_LMNR" + j.ToString().Trim().PadLeft(2, '0')).Value = sLMNR;
}
else
{
sSQL.ParamByName("XLWBBJDNR_LMNR" + j.ToString().Trim().PadLeft(2, '0')).Value = null;
}
}
dberp.ExecSQL(sSQL);
}
#endregion
}
}
//组织栏目名称
public static void ExcelColumnName(int iLMHHS,int iLMHHZ, DataSet ds, Dictionary<string, string> dicLMMC)
{
dicLMMC.Clear();
int RowNameStart = iLMHHS - 1;
int RowNameEnd = iLMHHZ - 1;
//x1-1
//x2-1 x2-2
//x3-1 x3-2 x3-3
string sCellName = "";
for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
{
if (!ds.Tables[0].Rows[RowNameStart][j].ToString().Trim().Equals(""))
{
sCellName = ds.Tables[0].Rows[RowNameStart][j].ToString().Trim();
}
else
{
for (int k = j; k >= 0; k--)
{
if (!ds.Tables[0].Rows[RowNameStart][k].ToString().Trim().Equals(""))
{
sCellName = ds.Tables[0].Rows[RowNameStart][k].ToString().Trim();
break;
}
}
}
//行开始
for (int i = RowNameStart + 1; i <= RowNameEnd; i++)
{
if (!ds.Tables[0].Rows[i][j].ToString().Trim().Equals(""))
{
sCellName = sCellName + ds.Tables[0].Rows[i][j].ToString().Trim();
}
else
{
for (int k = j; k >= 0; k--)
{
if (!ds.Tables[0].Rows[i][k].ToString().Trim().Equals("") && ds.Tables[0].Rows[i-1][k].ToString().Trim().Equals(""))
{
sCellName = sCellName + ds.Tables[0].Rows[i][k].ToString().Trim();
break;
}
}
}
}
if (sCellName.Equals(""))
{
sCellName = "Columns" + (j+1).ToString().Trim();
}
//if (sCellName.Length > 30)
//{
// throw new Exception(string.Format("第{1}列拼接出的标题名称过长:{0}", sCellName, (j + 1).ToString().Trim()));
//}
if (j >= 60)
{
throw new Exception(string.Format("最大仅支持60个栏目,请检查是否存在空白栏目,目前栏目数:{0}", j+1));
}
dicLMMC.Add((j+1).ToString().Trim().PadLeft(2, '0'), sCellName);
}
//throw new Exception(string.Format("!"));
}
private void ReadWJ(string sPath, string sSheetName, ref DataSet aDataExcel)
{
string sMessage = "";
aDataExcel = TExcelData.ReadExcel(sPath.Trim(), sSheetName, "",false, false, ref sMessage);
if (!sMessage.Trim().Equals(""))
{
throw new Exception("文件读取失败!失败原因:" + sMessage.Trim());
}
}
private string sGetCellTest(DataRow Row, int ColumnIndex)
{
return Row[ColumnIndex].ToString().Trim().Replace("\r\n", "").Replace("\n", "");
}
//取得默认的sheet名称
private string GetDefaultSheetName(string sFilePath)
{
string connStr = GetConnString(sFilePath);
OleDbConnection m_conn = new OleDbConnection(connStr);
m_conn.Open();
DataTable sheetNames = m_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
string sSheetName = "";
if (sheetNames.Rows[0].Table.Rows.Count > 0)
{
sSheetName = sheetNames.Rows[0].Table.Rows[0]["TABLE_NAME"].ToString().Trim();
if (sSheetName.StartsWith("'") && sSheetName.EndsWith("'"))
sSheetName = sSheetName.TrimStart('\'').TrimEnd('\'');
if (sSheetName.EndsWith("$"))
sSheetName = sSheetName.TrimEnd('$');
}
if (m_conn.State == ConnectionState.Open)
{
m_conn.Dispose();
m_conn = null;
}
return sSheetName;
}
#endregion
}
}