///<summary>
///上传文件到临时目录中
///</ummary>
private
void
Upload()
{
HttpPostedFile file =
this
.fileSelect.PostedFile;
string
fileName = file.FileName;
string
tempPath = System.IO.Path.GetTempPath();
fileName = System.IO.Path.GetFileName(fileName);
this
.currFileExtension = System.IO.Path.GetExtension(fileName);
this
.currFilePath = tempPath + fileName;
file.SaveAs(
this
.currFilePath);
}
///<summary>
///读取xls\xlsx格式的Excel文件的方法
///</ummary>
///<param name="path">待读取Excel的全路径</param>
///<returns></returns>
private
DataTable ReadExcelToTable(
string
path)
{
string
connstring =
"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ path +
";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"
;
using
(OleDbConnection conn =
new
OleDbConnection(connstring))
{
conn.Open();
DataTable sheetsName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
new
object
[]{
null
,
null
,
null
,
"Table"
});
string
firstSheetName = sheetsName.Rows[0][2].ToString();
string
sql =
string
.Format("SELECT * FROM [{0}],firstSheetName);
OleDbDataAdapter ada =
new
OleDbDataAdapter(sql,connstring);
DataSet
set
=
new
DataSet();
ada.Fill(
set
);
return
set
.Tables[0];
}
}
///<summary>
///读取csv格式的Excel文件的方法
///</ummary>
///<param name="path">待读取Excel的全路径</param>
///<returns></returns>
private
DataTable ReadExcelWithStream(
string
path)
{
DataTable dt =
new
DataTable();
bool
isDtHasColumn =
false
;
StreamReader reader =
new
StreamReader(path,System.Text.Encoding.Default);
while
(!reader.EndOfStream)
{
string
meaage = reader.ReadLine();
string
[] splitResult = message.Split(
new
char
[]{
','
},StringSplitOption.None);
DataRow row = dt.NewRow();
for
(
int
i = 0;i<splitResult.Length;i++)
{
if
(!isDtHasColumn)
{
dt.Columns.Add(
"column"
+ i,
typeof
(
string
));
}
row[i] = splitResult[i];
}
dt.Rows.Add(row);
isDtHasColumn =
true
;
}
return
dt;
}