
char *strlwr(char *str)
{
char *p
p = str
while(*p)
{
if(*p>='A'或镇 &&*p<旦团携='模伏A')
{
*p += 32
}
p++
}
}
int CheckLetter(char p){
if ((p >= '顷扮a' &&p <= 'z') || (p >= 'A' &&p <= '雀耐灶Z'))
{
return 1
}
else
{
return 0
}
}
void Trim(char oldWord[], char newWord[])
{
int i = 0
int j = 0
int len = strlen(oldWord)
for (i = 0i <leni++)
{
if (1 == CheckLetter(oldWord[i]))
{
newWord[j] = oldWord[i]
j++
}
else if((i >0) &&(i <亩凳 len) &&(oldWord[i] == ' ') &&(1 == CheckLetter(oldWord[i - 1])) &&(1 == CheckLetter(oldWord[i + 1])))
{
newWord[j] = oldWord[i]
j++
}
}
printf("%s\n", newWord)
}
方法很多,这里以从dataview导出excel为例:先从数据库中取出数据到dataview
public void OutputExcel(DataView dv,string str)
{
//dv为要输出到Excel的数据,str为标题名称
GC.Collect()
Application excel// = new Application()
int rowIndex=4
int colIndex=1
_Workbook xBk
_Worksheet xSt
excel= new ApplicationClass()
xBk = excel.Workbooks.Add(true)
xSt = (_Worksheet)xBk.ActiveSheet
//
//取得标题
/搜衫亮/
foreach(DataColumn col in dv.Table.Columns)
{
colIndex++
excel.Cells[4,colIndex] = col.ColumnName
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[4,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter//设置标题格式为居中对齐
}
//
//取得表格中的数据
//
foreach(DataRowView row in dv)
{
rowIndex ++
colIndex = 1
foreach(DataColumn col in dv.Table.Columns)
{
colIndex ++
if(col.DataType == System.Type.GetType("System.DateTime"))
{
excel.Cells[rowIndex,colIndex] = (Convert.ToDateTime(row[col.ColumnName].ToString())).ToString("yyyy-MM-dd")
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter//设置日期型世宽的字段格式为居中对齐
}
else
if(col.DataType == System.Type.GetType("System.String"))
{
excel.Cells[rowIndex,colIndex] = "'"+row[col.ColumnName].ToString()
xSt.get_Range(excel.Cells[rowIndex,colIndex],excel.Cells[rowIndex,colIndex]).HorizontalAlignment = XlVAlign.xlVAlignCenter//设置字符型的字段格式为塌镇居中对齐
}
else
{
excel.Cells[rowIndex,colIndex] = row[col.ColumnName].ToString()
}
}
}
//
//加载一个合计行
//
int rowSum = rowIndex + 1
int colSum = 2
excel.Cells[rowSum,2] = "合计"
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,2]).HorizontalAlignment = XlHAlign.xlHAlignCenter
//
//设置选中的部分的颜色
//
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Select()
xSt.get_Range(excel.Cells[rowSum,colSum],excel.Cells[rowSum,colIndex]).Interior.ColorIndex = 19//设置为浅黄色,共计有56种
//
//取得整个报表的标题
//
excel.Cells[2,2] = str
//
//设置整个报表的标题格式
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Bold = true
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,2]).Font.Size = 22
//
//设置报表表格为最适应宽度
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Select()
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Columns.AutoFit()
//
//设置整个报表的标题为跨列居中
//
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).Select()
xSt.get_Range(excel.Cells[2,2],excel.Cells[2,colIndex]).HorizontalAlignment = XlHAlign.xlHAlignCenterAcrossSelection
//
//绘制边框
//
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,colIndex]).Borders.LineStyle = 1
xSt.get_Range(excel.Cells[4,2],excel.Cells[rowSum,2]).Borders[XlBordersIndex.xlEdgeLeft].Weight = XlBorderWeight.xlThick//设置左边线加粗
xSt.get_Range(excel.Cells[4,2],excel.Cells[4,colIndex]).Borders[XlBordersIndex.xlEdgeTop].Weight = XlBorderWeight.xlThick//设置上边线加粗
xSt.get_Range(excel.Cells[4,colIndex],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeRight].Weight = XlBorderWeight.xlThick//设置右边线加粗
xSt.get_Range(excel.Cells[rowSum,2],excel.Cells[rowSum,colIndex]).Borders[XlBordersIndex.xlEdgeBottom].Weight = XlBorderWeight.xlThick//设置下边线加粗
//
//显示效果
//
excel.Visible=true
//xSt.Export(Server.MapPath(".")+""+this.xlfile.Text+".xls",SheetExportActionEnum.ssExportActionNone,Microsoft.Office.Interop.OWC.SheetExportFormat.ssExportHTML)
xBk.SaveCopyAs(Server.MapPath(".")+""+this.xlfile.Text+".xls")
ds = null
xBk.Close(false, null,null)
excel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xBk)
System.Runtime.InteropServices.Marshal.ReleaseComObject(excel)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xSt)
xBk = null
excel = null
xSt = null
GC.Collect()
string path = Server.MapPath(this.xlfile.Text+".xls")
System.IO.FileInfo file = new System.IO.FileInfo(path)
Response.Clear()
Response.Charset="GB2312"
Response.ContentEncoding=System.Text.Encoding.UTF8
// 添加头信息,为"文件下载/另存为"对话框指定默认文件名
Response.AddHeader("Content-Disposition", "attachmentfilename=" + Server.UrlEncode(file.Name))
// 添加头信息,指定文件大小,让浏览器能够显示下载进度
Response.AddHeader("Content-Length", file.Length.ToString())
// 指定返回的是一个不能被客户端读取的流,必须被下载
Response.ContentType = "application/ms-excel"
// 把文件流发送到客户端
Response.WriteFile(file.FullName)
// 停止页面的执行
Response.End()
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)