Sheet1.Range("A1") = "题名"
Sheet1.Range("B1") = "作者"
Sheet1.Range("C1") = "机构"
Sheet1.Range("D1") = "期刊名"
Sheet1.Range("E1") = "年份"
Sheet1.Range("F1") = "期号"
Sheet1.Range("G1") = "页码"
Sheet1.Range("H1") = "issn"
Sheet1.Range("I1") = "cn"
Sheet1.Range("J1") = "馆藏号"
Sheet1.Range("K1") = "关键字1"
Sheet1.Range("L1") = "关键字2"
Sheet1.Range("M1") = "关键字3"
Sheet1.Range("N1") = "关键字4"
Sheet1.Range("O1") = "关键字5"
Sheet1.Range("P1") = "关键字6"
Sheet1.Range("Q1") = "关键字7"
Sheet1.Range("R1") = "关键字8"
Sheet1.Range("S1") = "关键字9"
Sheet1.Range("T1") = "关键字10"
Sheet1.Range("U1") = "关键字11"
Sheet1.Range("V1") = "关键字12"
Sheet1.Range("W1") = "分类号"
Sheet1.Range("X1") = "文摘"
For sRow = 1 To vLen
If Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【题 名】" Then
vRow = vRow + 1
Sheet1.Range("A" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【作 者】" Then
Sheet1.Range("B" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【机 构】" Then
Sheet1.Range("C" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【刊 名】" Then
Sheet1.Range("D" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 7) = "【ISSN号】" Then
Sheet1.Range("H" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 8)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 7) = "【C N 号】" Then
Sheet1.Range("I" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 8)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【馆藏号】" Then
Sheet1.Range("J" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【关键词】" Then
Sheet1.Range("K" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【分类号】" Then
Sheet1.Range("W" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【文 摘】" Then
Sheet1.Range("X" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
End If
Next sRow
For vRow = 2 To vLen
sTemp = Sheet1.Cells(vRow, 4)
For j = 4 To 20
iFind = InStr(1, sTemp, qk)
If iFind > 0 Then
Sheet1.Cells(vRow, j) = Mid(sTemp, 1, iFind - 1)
sTemp = Mid(sTemp, iFind + 1)
Else
Sheet1.Cells(vRow, j) = sTemp
Exit For
End If
Next
Next
Sheet1.Range("B1") = "作者"
Sheet1.Range("C1") = "机构"
Sheet1.Range("D1") = "期刊名"
Sheet1.Range("E1") = "年份"
Sheet1.Range("F1") = "期号"
Sheet1.Range("G1") = "页码"
Sheet1.Range("H1") = "issn"
Sheet1.Range("I1") = "cn"
Sheet1.Range("J1") = "馆藏号"
Sheet1.Range("K1") = "关键字1"
Sheet1.Range("L1") = "关键字2"
Sheet1.Range("M1") = "关键字3"
Sheet1.Range("N1") = "关键字4"
Sheet1.Range("O1") = "关键字5"
Sheet1.Range("P1") = "关键字6"
Sheet1.Range("Q1") = "关键字7"
Sheet1.Range("R1") = "关键字8"
Sheet1.Range("S1") = "关键字9"
Sheet1.Range("T1") = "关键字10"
Sheet1.Range("U1") = "关键字11"
Sheet1.Range("V1") = "关键字12"
Sheet1.Range("W1") = "分类号"
Sheet1.Range("X1") = "文摘"
For sRow = 1 To vLen
If Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【题 名】" Then
vRow = vRow + 1
Sheet1.Range("A" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【作 者】" Then
Sheet1.Range("B" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【机 构】" Then
Sheet1.Range("C" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【刊 名】" Then
Sheet1.Range("D" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 7) = "【ISSN号】" Then
Sheet1.Range("H" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 8)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 7) = "【C N 号】" Then
Sheet1.Range("I" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 8)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【馆藏号】" Then
Sheet1.Range("J" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【关键词】" Then
Sheet1.Range("K" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【分类号】" Then
Sheet1.Range("W" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
ElseIf Left(Trim(Sheet2.Range("A" & sRow).Text), 5) = "【文 摘】" Then
Sheet1.Range("X" & vRow) = Mid(Trim(Sheet2.Range("A" & sRow).Text), 6)
End If
Next sRow
For vRow = 2 To vLen
sTemp = Sheet1.Cells(vRow, 4)
For j = 4 To 20
iFind = InStr(1, sTemp, qk)
If iFind > 0 Then
Sheet1.Cells(vRow, j) = Mid(sTemp, 1, iFind - 1)
sTemp = Mid(sTemp, iFind + 1)
Else
Sheet1.Cells(vRow, j) = sTemp
Exit For
End If
Next
Next
{
errMessage = ""; if (!System.IO.File.Exists(fileName))
{
errMessage = "file doesn't exist.";
return false;
} Excel.Application xlApp;
Excel.Workbook xlWkb;
Excel.Worksheet xlSht; xlApp = new Excel.ApplicationClass();
xlApp.DisplayAlerts = false; try
{
xlWkb = xlApp.Workbooks.Open(fileName);
xlSht = xlWkb.Sheets[0];
}
catch (System.Runtime.InteropServices.COMException cex)
{
errMessage = cex.Message;
xlSht = null;
xlApp.Quit();
xlWkb = null;
xlApp = null;
return false;
}
catch (Exception ex)
{
errMessage = ex.Message;
xlSht = null;
xlApp.Quit();
xlWkb = null;
xlApp = null;
return false;
}
//打开完毕, 开始读数据填充dt
int rowCnt, clmCnt;
rowCnt = xlSht.UsedRange.Rows.Count;
clmCnt = xlSht.UsedRange.Columns.Count; dt = new DataTable();
DataRow dr;
DataColumn dc; for (int i = 0; i < clmCnt; i++)
{
dc = new DataColumn();
dt.Columns.Add(dc);
} for (int i = 1; i <= rowCnt; i++)
{
dr = dt.NewRow(); dr.BeginEdit();
for (int j = 1; j <= clmCnt; j++)
dr[j - 1] = xlSht.Cells[i, j].value;
dr.EndEdit();
dt.Rows.Add(dr);
} //数据读取完毕, 关闭文件退出
xlSht = null;
xlWkb.Close();
xlApp.Quit();
xlWkb = null;
xlApp = null; return true; } public static bool WriteToExcelFile(string fileName, bool overWriteExists, out DataTable dt, out string errMessage)
{
if (!System.IO.File.Exists(fileName))
{
if (overWriteExists)
{
try
{
System.IO.File.Delete(fileName);
}
catch (Exception ex)
{
errMessage = "can't update exists file.";
errMessage += ": " + ex.Message;
return false;
}
}
else
{
errMessage = "specified file already exists.";
return false;
}
} // end if Excel.Application xlApp;
Excel.Workbook xlWkb;
Excel.Worksheet xlSht; xlApp = new Excel.ApplicationClass();
xlWkb = xlApp.Workbooks.Add();
xlSht = xlWkb.Sheets[0]; for (int i = 1; i <= dt.Rows.Count; i++)
for (int j = 1; j <= dt.Columns.Count; j++)
xlSht.Cells[i, j].value = dt.Rows[i - 1][j - 1].ToString();
xlSht = null;
xlWkb.Close();
xlApp.Quit();
xlWkb = null;
xlApp = null; return true;
}// end function writeexcel
至于你控制各列的细节, 看一下智能感知就知道了, 方法和属性的名称也基本上跟vba 里一样.
我就不再给你写其它的细节代码了.
如果能解决马上结贴,如果小第不才,希望Moosdau能给点 细节,嘿嘿
我的数据出来过程是打开一个 excel文件,然后从sheet1的数据通过以上代码处理放到shee2里.
不吃晚饭等待高手中
objExcel.Run("Macro1", 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, 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, Type.Missing, Type.Missing); 这里的objExcel是你实例化的:Excel.Application