C#中 StreamWriter 可以向excel文件中添加一行数据吗?如果不可以,采用什么方法添加呢?
答案:2 悬赏:20 手机版
解决时间 2021-02-07 03:45
- 提问者网友:送舟行
- 2021-02-06 06:49
C#中 StreamWriter 可以向excel文件中添加一行数据吗?如果不可以,采用什么方法添加呢?
最佳答案
- 五星知识达人网友:躲不过心动
- 2021-02-06 07:44
这里是一个例子。我使用一个数据集命名为“数据”包含一个表命名为“统计”:
// create the DataGrid and perform the databinding
System.Web.UI.WebControls.DataGrid grid =
new System.Web.UI.WebControls.DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = data;
grid.DataMember = data.Stats.TableName;
grid.DataBind();
// render the DataGrid control to a file
using(StreamWriter sw = new StreamWriter("c:\\test.xls"))
{
using(HtmlTextWriter hw = new HtmlTextWriter(sw))
{
grid.RenderControl(hw);
}
}
如果你再打开输出文件在一个文本编辑器,你会发现它仅仅包含了一个简单的HTML。
// create the DataGrid and perform the databinding
System.Web.UI.WebControls.DataGrid grid =
new System.Web.UI.WebControls.DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = data;
grid.DataMember = data.Stats.TableName;
grid.DataBind();
// render the DataGrid control to a file
using(StreamWriter sw = new StreamWriter("c:\\test.xls"))
{
using(HtmlTextWriter hw = new HtmlTextWriter(sw))
{
grid.RenderControl(hw);
}
}
如果你再打开输出文件在一个文本编辑器,你会发现它仅仅包含了一个简单的HTML。
全部回答
- 1楼网友:你可爱的野爹
- 2021-02-06 08:52
控制excel宽度:
public static void exportdatagridviewtoexcel(xptable.models.table datatb, string text)
{
try
{
//利用stream(流)的方式
savefiledialog savefiledialog = new savefiledialog(); savefiledialog.filter = "execl files (*.xls)|*.xls"; savefiledialog.filterindex = 0;
savefiledialog.restoredirectory = true; savefiledialog.createprompt = false;
savefiledialog.title = "导出excel文件到";
savefiledialog.filename = text;
dialogresult result = savefiledialog.showdialog();
if (result == dialogresult.ok)
{
//savefiledialog.showdialog();
stream mystream;
mystream = savefiledialog.openfile();
streamwriter sw = new streamwriter(mystream,system.text.encoding.getencoding("gb2312")); string str = "";
try
{
//写标题
for (int i = 1; i < datatb.columnmodel.columns.count; i++)
{
if (i >0)
{
str += "\t";
}
str += datatb.columnmodel.columns[i].text;
}
sw.writeline(str);
//写内容
for (int j =0; j < datatb.tablemodel.rows.count; j++)
{
string tempstr = "";
for (int k = 1; k < datatb.columnmodel.columns.count; k++) {
if (k > 0)
{
tempstr += "\t";
}
tempstr += datatb.tablemodel.rows[j].cells[k].text.tostring(); }
sw.writeline(tempstr);
}
}
catch
{
//messagebox.show(e.tostring());
}
finally
{
messagebox.show("成功导出excel");
sw.close();
mystream.close();
}
}
}
catch (exception)
{
messagebox.show("程序在运行中或者目前excel文档被打开!");
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯