c#导出Excel里面设置单元格问题

xugan666 2011-12-11 09:25:55

Response.Write("\n <head>");
Response.Write("\n <xml>");
Response.Write("\n <x:ExcelWorkbook>");
Response.Write("\n <x:ExcelWorksheets>");
Response.Write("\n <x:ExcelWorksheet>");
Response.Write(string.Format("\n <x:Name>{0}</x:Name>", ExportTableName));
Response.Write("\n <x:WorksheetOptions>");
Response.Write("\n <x:FrozenNoSplit/>");
Response.Write("\n <x:SplitHorizontal>4</x:SplitHorizontal>");
Response.Write("\n <x:TopRowBottomPane>4</x:TopRowBottomPane>");
Response.Write("\n <x:ActivePane>2</x:ActivePane>");
Response.Write("\n </x:WorksheetOptions>");
Response.Write("\n </xml>");
Response.Write("\n </head>");
Response.Write("\n <body>");
Response.Write("<table borderColor=black border=1>");

StringBuilder sb = new StringBuilder();
sb.Append("\n <tr style=\"font-size:13px;\" align=\"right\" >");
for (int j = 0; j < 16; j++)
{
switch (j)
{
case 0://序号



sb.Append("\n <td>");
sb.Append("" + j + 1 + "");
sb.Append("\n </td>");
break;
}}

我是这样拼接起来的,如何一次性设置导出的格式为文本格式???
Response.Write() 就是下面这种格式,但是在excel里面就会出现如果是0就省略掉··我想直接设置文本格式,如何设置?
<tr style="font-size:13px;" align="right" >
<td>1
</td>
<td>李四
</td>
<td>2500.00
</td>
<td>6
</td>
<td>6
</td>
<td>2100.00
</td>
<td>420.00
</td>
<td>300.00
</td>
<td>60.00
</td>
<td>60.00
</td>
<td>12.00
</td>
<td>120.00
</td>
<td>24.00
</td>
<td>1725.00
</td>
<td>345.00
</td>
<td>0.0000
</td>
<td>0.00
</td>
<td>4305.00
</td>
<td>861.00
</td>
<td>6000.0000
</td>
<td>6000.0000
</td>
<td>11166.0000
</td>
<td>600
</td>
<td>600
</td>
<td>600
</td>
<td>12966.0000
</td>
</tr>

...全文
164 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
萧炎 2011-12-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zyloveyrf 的回复:]

C# code

for (int r = 0; r < mydgv.Rows.Count; r++)
{
for (int i = 0; i < mydgv.ColumnCount; i++)
{
if (mydgv[i, r].V……
[/Quote]
mydgv 是我自定义的datagridview的name
萧炎 2011-12-12
  • 打赏
  • 举报
回复

for (int r = 0; r < mydgv.Rows.Count; r++)
{
for (int i = 0; i < mydgv.ColumnCount; i++)
{
if (mydgv[i, r].ValueType == typeof(string))
{
worksheet.Cells[r + 2, i + 1] = "" + mydgv.Rows[r].Cells[i].Value;//将长数值转换成文本
}
else
{
worksheet.Cells[r + 2, i + 1] = mydgv.Rows[r].Cells[i].Value;
}
}
System.Windows.Forms.Application.DoEvents();
}
liukai806 2011-12-12
  • 打赏
  • 举报
回复
数字要保存成文本 就要在数字前面加 单引号
xugan666 2011-12-12
  • 打赏
  • 举报
回复
我自己顶顶顶··
xugan666 2011-12-12
  • 打赏
  • 举报
回复
我自己再定一次·····
xugan666 2011-12-12
  • 打赏
  • 举报
回复
好吧,竟然这种方法实现起来有点难度·那么如何把握绘制的Table··里面的数据都会治好了·直接导入在我指定的模板里面去???直接导进去就行了,不惜要指定单元格位置··指定也木有关系···

<table>
<tr>
<td>
1
</td>
<td>
2
</td>
<td>
3
</td>
<td>
</td>
</tr>
</table>
这种数据直接指定在我的Excel模板里面去······
xugan666 2011-12-11
  • 打赏
  • 举报
回复
wo dingding我顶顶···
xugan666 2011-12-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hefeng_aspnet 的回复:]

Private Sub Command1_Click()
'从IP库导出IP.xls

'On Error GoTo myErr

Dim FilePath As String, tmp As Byte
Dim excel_app As Object
Dim row As Integer

'建立 Excel 应用程……
[/Quote]
我就是不想在前面加 ‘ 这样体验效果很不好·如果都是money,你前面价格'不是很难看么?
csdn_aspnet 2011-12-11
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
'从IP库导出IP.xls

'On Error GoTo myErr

Dim FilePath As String, tmp As Byte
Dim excel_app As Object
Dim row As Integer

'建立 Excel 应用程序
Set excel_app = CreateObject("Excel.Application")
'显示Excel应用程序
excel_app.Visible = True

'添加新工作簿:
excel_app.WorkBooks.Add

'你要的东东在这里
excel_app.Columns("A:L").NumberFormatLocal = "@" '''A—L列设置为文本
excel_app.ActiveCell.FormulaR1C1 = "0111" ''''''''''赋一个值看一下结果
'工作表另存为:
excel_app.DisplayAlerts = False
If Not excel_app.ActiveWorkBook.Saved Then
excel_app.ActiveWorkBook.SaveAs FileName:="c:\1.xls"
End If
' Close Excel.
excel_app.DisplayAlerts = True '关闭时提示保存

excel_app.Quit
Set excel_app = Nothing
Screen.MousePointer = vbDefault

MsgBox "ok"

Exit Sub
myErr:
If Err.Number = 429 Then
Screen.MousePointer = vbDefault
MsgBox "请先安装EXCEL!", , "导出错误"
Exit Sub
End If
excel_app.DisplayAlerts = False '关闭时不提示保存
excel_app.Quit '关闭EXCEL
excel_app.DisplayAlerts = True '关闭时提示保存
Set excel_app = Nothing
Me.MousePointer = 0
If tmp <> 7 Then MsgBox " 导出数据到 Excel 时出错! ", , "导出错误"

End Sub


或者
数字开头前加个单引号(')就行了
加个判断:

// ...

if (k > 0)
{
tempStr += "\t";
}

if (是身份证列) tempStr += "'";
tempStr += dataGridview1.Rows[j].Cells[k].Value.ToString();
}

// ...


xugan666 2011-12-11
  • 打赏
  • 举报
回复
我自己顶顶·····
Excel使用过程中,运用一些技巧会使得我们的工作效率提高很多。而这些技巧往往又被忽略或忘记怎么去使用。本套课程基于此整理了一些Excel方面的技巧,这些呢为学习笔记集锦,前后章内容不存在连贯性,仅整理一些常用的技巧与大家分享。【说明:Excel为2013版本,无下载资料,请参看课程视频学习。】l  本课程知识点l  第1节:概述l  第2节:Excel大批量数据自动填写灵活妙用经验分享l  第3节:巧为Excel2013单元格的文本内容增加拼音l  第4节:Excel单元格内实现自动换行l  第5节:Excel快速使用函数计算不同区域数据l  第6节:Excel单元格超长内容不能显示全巧妙设置l  第7节:巧妙运用之Excel单元格中自动快速输入带有小数点的数值l  第8节:Excel巧妙使用回车键快速粘贴l  第9节:职场必会Excel函数经典应用,使用And函数多条件判断l  第10节:Excel函数经典应用之IF函数条件判断范例l  第11节:Excel技巧之巧妙使用不同颜色区分不同类型数据l  第12节:巧妙快速调整Excle所有单元格或局部单元格l  第13节:巧妙快速切换Excel单元格回车后的纵向输入和横向输入l  第14节:巧妙理解记忆Excel公式中的相对引用和绝对引用l  第15节:Excel单元格文风快速两端对齐l  第16节:Excel2013文档内容快速居中打印l  第17节:excel直接使用模板制作精美格式样式l  第18节: excel使用中可以直接使用翻译功能中英文互译l  第19节:不需要截图工具直接使用excel复制图片l  第20节:excel粘贴也可以多种方式选择了l  第21节:巧为excel单元格画双划线l  第22节:为excel的文字或数字添加单划线或双划线l  第23节:excel连续微调单元格内容字号的大小l  第24节: 快速的将长文本内容变为自适应多行文本l  第25节:excel单元格合并居中l  第26节:单元格内容连续微调缩进量l  第27节:将文本内容倾斜到任意角度l  第28节:单元格内容多种形式的对齐方式l  第29节:快速将数据转换为会计专用数据l  第30节:快速为数据增加或减少小数位数

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧