Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
臺(tái)拖一個(gè)Gridview,在拖一個(gè)導(dǎo)出excel的按鈕,給這個(gè)按鈕添加事件
后臺(tái)代碼:
using BLL;
using Model;
namespace Web
{
public partial class ExcelOperate : System.Web.UI.Page
{
private StudentBLL bll=new StudentBLL();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
//綁定數(shù)據(jù)
private void Bind()
{
GridView1.DataSource=bll.GetAllStu(null);
GridView1.DataBind();
}
#region 導(dǎo)出到excel
//導(dǎo)出excel
protected void btnExcelout_Click(object sender, EventArgs e)
{
string style=@"<style> .text { mso-number-format:\@; } </script> "; //設(shè)置格式
Response.ClearContent();
Response.ContentEncoding=Encoding.GetEncoding("gbk");
Response.AddHeader("content-disposition", "attachment;filename=ouput.xls");
Response.ContentType="application/excel";
StringWriter sw=new StringWriter();
HtmlTextWriter htw=new HtmlTextWriter(sw);
GridView1.RenderControl(htw);
Response.Write(style);//注意
Response.Write(sw.ToString());
Response.End();
}
//注意:必須覆蓋此方法
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
//解決數(shù)字字符串顯示不完全
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
// e.Row.Cells[3].Attributes.Add("class", "text");//在數(shù)據(jù)綁定中設(shè)置格式
//哪一列需要顯示文本的,加上下面這句話即可
e.Row.Cells[3].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
#endregion
}
}
頁(yè)面效果:
導(dǎo)入Excel并保存到數(shù)據(jù)庫(kù):
前臺(tái)需要拖一個(gè)FileUpload上傳控件,一個(gè)導(dǎo)入excel按鈕,給其添加事件:
//導(dǎo)入excel數(shù)據(jù)
protected void btnExcelIn_Click(object sender, EventArgs e)
{
string filepath=string.Empty;
string getErrormg=string.Empty;
DataTable dt=new DataTable();
if (!fuFile.HasFile)
{
Response.Write("<script>alert('請(qǐng)選擇你要導(dǎo)入的Excel文件');</script>");
return;
}
//獲取文件的后綴名
string fileExt=System.IO.Path.GetExtension(fuFile.FileName);
if (fileExt !=".xls")
{
Response.Write("<script>alert('文件類型錯(cuò)誤!');</script>");
return;
}
//獲取絕對(duì)路徑
filepath=fuFile.PostedFile.FileName;
string conn="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";Data Source=" + filepath;
OleDbConnection excelCon=new OleDbConnection(conn);
//Excel文件里面工作表名 默認(rèn)為Sheet1,后面需要加上$符號(hào)[工作表名稱$]切記,不然會(huì)報(bào)錯(cuò)
OleDbDataAdapter odda=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", excelCon);
try
{
odda.Fill(dt);
}
catch (Exception ex)
{
Response.Write(ex.Message);
Response.Write("<script>alert('" + ex.Message + "!')</script>");
}
finally
{
excelCon.Close();
excelCon.Dispose();
}
//將數(shù)據(jù)寫到數(shù)據(jù)庫(kù)里面
try
{
for (int i=0; i < dt.Rows.Count; i++)
{
Studnet stu=new Studnet();
stu.C_id=Convert.ToInt32(dt.Rows[i]["c_id"]);
stu.No=dt.Rows[i]["no"].ToString();
stu.Name=dt.Rows[i]["name"].ToString();
stu.Gender=dt.Rows[i]["gender"].ToString()=="男" ? true : false;
stu.Age=Convert.ToInt32(dt.Rows[i]["age"].ToString());
bll.InsertStu(stu);
}
}
catch (Exception ex)
{
getErrormg=ex.Message;
Response.Write(ex.Message);
}
if (getErrormg=="")
{
Response.Write("<script>alert('導(dǎo)入Excel文件成功!')</script>");
Bind();
}
else { Response.Write("<script>alert('導(dǎo)入Excel文件失敗!')</script>"); }
}
Excel和導(dǎo)入后的頁(yè)面效果:
數(shù)據(jù)庫(kù)在導(dǎo)入excel數(shù)據(jù)之前和時(shí)候的效果:
這里要注意幾個(gè)地方,一般導(dǎo)出excel的時(shí)候,數(shù)字文本會(huì)把前面的0都省略掉了,這里需要注意:紅色代碼片段,導(dǎo)入的時(shí)候,也有個(gè)***紅紅紅色***標(biāo)記碼塊要注意
以下是前臺(tái)完整代碼:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExcelOperate.aspx.cs" Inherits="Web.ExcelOperate" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"></asp:GridView>
<br />
<asp:Button ID="btnExcelout" runat="server" OnClick="btnExcelout_Click" Text="導(dǎo)出到Excel" />
<br />
<asp:FileUpload ID="fuFile" runat="server" />
<asp:Button ID="btnExcelIn" runat="server" OnClick="btnExcelIn_Click" Text="導(dǎo)入Excel數(shù)據(jù)" />
</div>
</form>
</body>
</html>
以下是后臺(tái)完整代碼:
web應(yīng)用程序開發(fā)時(shí),或許你會(huì)遇到這樣的需求,如何在 Asp.Net Core 中實(shí)現(xiàn) excel 或者 word 的導(dǎo)入導(dǎo)出,在 NuGet 上有大量的工具包可以實(shí)現(xiàn)這樣的功能,本篇就討論下如何使用 ClosedXML 實(shí)現(xiàn) Excel 數(shù)據(jù)導(dǎo)出。
如果想實(shí)現(xiàn) Excel 的導(dǎo)出功能,在 Asp.Net Core 中有很多的dll可以做到,其中的一個(gè)叫做 ClosedXML,你可以通過(guò)可視化界面 NuGet package manager
去安裝,也可以使用命令行 NuGet package manager console
執(zhí)行下面命令。
Install-Package ClosedXML
將數(shù)據(jù)導(dǎo)成 CSV 文件是非常簡(jiǎn)單的,畢竟每行數(shù)據(jù)都是用 ,
隔開即可,可以用 NuGet 上的 CsvExport 或者 AWright18.SimpleCSVExporter 去實(shí)現(xiàn),當(dāng)然你覺得自己很 ,可以親自操刀實(shí)現(xiàn),下面我準(zhǔn)備親自實(shí)現(xiàn)一下,先看下面定義的 Author 類。
public class Author
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
然后塞一些數(shù)據(jù)到 authors 列表中,如下代碼所示:
List<Author> authors=new List<Author>
{
new Author { Id=1, FirstName="Joydip", LastName="Kanjilal" },
new Author { Id=2, FirstName="Steve", LastName="Smith" },
new Author { Id=3, FirstName="Anand", LastName="Narayaswamy"}
};
定義一個(gè) DownloadCommaSeperatedFile 方法,用于實(shí)現(xiàn) Action 的 csv 導(dǎo)出功能。
public IActionResult DownloadCommaSeperatedFile()
{
try
{
StringBuilder stringBuilder=new StringBuilder();
stringBuilder.AppendLine("Id,FirstName,LastName");
foreach (var author in authors)
{
stringBuilder.AppendLine($"{author.Id},
{author.FirstName},{author.LastName}");
}
return File(Encoding.UTF8.GetBytes
(stringBuilder.ToString()), "text/csv", "authors.csv");
}
catch
{
return Error();
}
}
Excel 中的 workbook 是由若干個(gè) worksheet 組成,下面的代碼可用來(lái)生成一個(gè) workbook。
var workbook=new XLWorkbook();
接下來(lái)生成一個(gè) worksheet,然后在 worksheet 中填一些數(shù)據(jù),代碼如下:
IXLWorksheet worksheet=workbook.Worksheets.Add("Authors");
worksheet.Cell(1, 1).Value="Id";
worksheet.Cell(1, 2).Value="FirstName";
worksheet.Cell(1, 3).Value="LastName";
for (int index=1; index <=authors.Count; index++)
{
worksheet.Cell(index + 1, 1).Value=authors[index - 1].Id;
worksheet.Cell(index + 1, 2).Value=authors[index - 1].FirstName;
worksheet.Cell(index + 1, 3).Value=authors[index - 1].LastName;
}
最后,將 workbook 轉(zhuǎn)成 內(nèi)存流 (memory stream) 再通過(guò) Controller.Action 的 FileContentResult 返回給客戶端,代碼如下:
using (var stream=new MemoryStream())
{
workbook.SaveAs(stream);
var content=stream.ToArray();
return File(content, contentType, fileName);
}
下面是導(dǎo)出 Excel 所有的業(yè)務(wù)邏輯代碼,這個(gè) Action 實(shí)現(xiàn)了 Excel 導(dǎo)出功能。
public IActionResult DownloadExcelDocument()
{
string contentType="application/vnd.openxmlformats-
officedocument.spreadsheetml.sheet";
string fileName="authors.xlsx";
try
{
using (var workbook=new XLWorkbook())
{
IXLWorksheet worksheet= workbook.Worksheets.Add("Authors");
worksheet.Cell(1, 1).Value="Id";
worksheet.Cell(1, 2).Value="FirstName";
worksheet.Cell(1, 3).Value="LastName";
for (int index=1; index <=authors.Count; index++)
{
worksheet.Cell(index + 1, 1).Value= authors[index - 1].Id;
worksheet.Cell(index + 1, 2).Value= authors[index - 1].FirstName;
worksheet.Cell(index + 1, 3).Value= authors[index - 1].LastName;
}
using (var stream=new MemoryStream())
{
workbook.SaveAs(stream);
var content=stream.ToArray();
return File(content, contentType, fileName);
}
}
}
catch(Exception ex)
{
return Error();
}
}
這篇就是 ClosedXML 的所有內(nèi)容,如果你想對(duì) Excel 中的數(shù)據(jù)進(jìn)行更加復(fù)雜的操控,可以使用 EPPlus 或者 NPOI,關(guān)于 ClosedXML 的更多內(nèi)容,可參考:https://github.com/ClosedXML/ClosedXML
譯文鏈接:https://www.infoworld.com/article/3538413/how-to-export-data-to-excel-in-aspnet-core-30.html
更多高質(zhì)量干貨:參見我的 GitHub: dotnetfly**
能轉(zhuǎn)換:R圖和統(tǒng)計(jì)表轉(zhuǎn)成發(fā)表級(jí)的Word、PPT、Excel、HTML、Latex、矢量圖等
R包export可以輕松的將R繪制的圖和統(tǒng)計(jì)表輸出到 Microsoft Office (Word、PowerPoint和Excel)、HTML和Latex中,其質(zhì)量可以直接用于發(fā)表。
export包可以在Windows、Ubuntu和Mac上跨平臺(tái)運(yùn)行。不過(guò)有些Mac發(fā)行版默認(rèn)情況下沒(méi)有安裝cairo設(shè)備,需要自行安裝。如果Mac用戶已安裝XQuartz,這個(gè)問(wèn)題就解決了,它可以從https://www.xquartz.org/免費(fèi)獲得。
install.packages("export")
install.packages("officer")
install.packages("rvg")
install.packages("openxlsx")
install.packages("ggplot2")
install.packages("flextable")
install.packages("xtable")
install.packages("rgl")
install.packages("stargazer")
install.packages("tikzDevice")
install.packages("xml2")
install.packages("broom")
install.packages("devtools")
devtools::install_github("tomwenseleers/export")
該包主要包括以下幾種轉(zhuǎn)換
使用幫助信息如下:
graph2bitmap(x=NULL, file="Rplot", fun=NULL, type=c("PNG","JPG", "TIF"),
aspectr=NULL, width=NULL, height=NULL, dpi=300,scaling=100,
font=ifelse(Sys.info()["sysname"]=="Windows", "Arial",
"Helvetica")[[1]], bg="white", cairo=TRUE,
tiffcompression=c("lzw", "rle", "jpeg", "zip", "lzw+p", "zip+p"),
jpegquality=99, ...)
安裝完 export包后,先調(diào)用該包
library(export)
library(ggplot2)
library(datasets)
x=qplot(Sepal.Length, Petal.Length, data=iris,
color=Species, size=Petal.Width, alpha=I(0.7))
qplot()的意思是快速作圖,利用它可以很方便的創(chuàng)建各種復(fù)雜的圖形,其他系統(tǒng)需要好幾行代碼才能解決的問(wèn)題,用qplot只需要一行就能完成。
使用半透明的顏色可以有效減少圖形元素重疊的現(xiàn)象,要?jiǎng)?chuàng)建半透明的顏色,可以使用alpha圖形屬性,其值從0(完全透明)到1(完全不透明)。更多ggplot2繪圖見ggplot2高效實(shí)用指南 (可視化腳本、工具、套路、配色) (往期教程更有很多生物信息相關(guān)的例子)。
鳶尾花(iris)是數(shù)據(jù)挖掘常用到的一個(gè)數(shù)據(jù)集,包含150個(gè)鳶尾花的信息,每50個(gè)取自三個(gè)鳶尾花種之一(setosa,versicolour或virginica)。每個(gè)花的特征用下面的5種屬性描述萼片長(zhǎng)度(Sepal.Length)、萼片寬度(Sepal.Width)、花瓣長(zhǎng)度(Petal.Length)、花瓣寬度(Petal.Width)、類(Species)。
在console里展示數(shù)據(jù)圖 (長(zhǎng)寬比自己調(diào)節(jié)):
# 需運(yùn)行上面的ggplot2繪圖
# Create a file name
# 程序會(huì)自動(dòng)加后綴
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2bitmap():
### 1. Pass the plot as an object
graph2png(x=x, file=filen, dpi=400, height=5, aspectr=4)
graph2tif(x=x, file=filen, dpi=400, height=5, aspectr=4)
graph2jpg(x=x, file=filen, dpi=400, height=5, aspectr=4)
### 2. Get the plot from current screen device
# 注意這個(gè)x,是運(yùn)行命令,展示圖像
x
graph2png(file=filen, dpi=400, height=5, aspectr=4)
graph2tif(file=filen, dpi=400, height=5, aspectr=4)
graph2jpg(file=filen, dpi=400, height=5, aspectr=4)
### 3. Pass the plot as a functio
plot.fun <- function(){
print(qplot(Sepal.Length, Petal.Length, data=iris,
color=Species, size=Petal.Width, alpha=0.7))
}
graph2png(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
graph2tif(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
graph2jpg(file=filen, fun=plot.fun, dpi=400, height=5, aspectr=4)
轉(zhuǎn)換后的圖形:
大部分圖的細(xì)節(jié)修改都是用代碼完成的,不需要后續(xù)的修飾;但如果某一些修改比較特異,不具有程序的通用性特征,或?qū)崿F(xiàn)起來(lái)比較困難,就可以考慮后期修改。比如用AI文章用圖的修改和排版。熟悉PPT的,也可以用PPT,這時(shí)R的圖導(dǎo)出PPT,就要用到graph2office系列函數(shù)了。
graph2ppt: 將當(dāng)前R圖保存到Microsoft Office PowerPoint/LibreOffice Impress演示文稿中。
graph2doc:將當(dāng)前的R圖保存到Microsoft Office Word/LibreOffice Writer文檔中。
函數(shù)參數(shù)展示和解釋
graph2office(x=NULL, file="Rplot", fun=NULL, type=c("PPT", "DOC"),
append=FALSE, aspectr=NULL, width=NULL, height=NULL,scaling=100,
paper="auto", orient=ifelse(type[1]=="PPT","landscape", "auto"),
margins=c(top=0.5, right=0.5, bottom=0.5, left=0.5),
center=TRUE, offx=1, offy=1, upscale=FALSE, vector.graphic=TRUE, ...)
# 需運(yùn)行上面的ggplot2繪圖
# Create a file name
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2office():
### 1. Pass the plot as an object
# 導(dǎo)出圖形對(duì)象
graph2ppt(x=x, file=filen)
graph2doc(x=x, file=filen, aspectr=0.5)
### 2. Get the plot from current screen device
# 導(dǎo)出當(dāng)前預(yù)覽窗口呈現(xiàn)的圖
x
graph2ppt(file=filen, width=9, aspectr=2, append=TRUE)
graph2doc(file=filen, aspectr=1.7, append=TRUE)
### 3. Pass the plot as a function
# 導(dǎo)出自定義函數(shù)輸出的一系列圖
graph2ppt(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
graph2doc(fun=plot.fun, file=filen, aspectr=0.5, append=TRUE)
導(dǎo)出到office(ppt和word)中的圖形,是可編輯的:
其它導(dǎo)出到ppt的例子(設(shè)置長(zhǎng)寬比)
graph2ppt(file="ggplot2_plot.pptx", aspectr=1.7)
增加第二張同樣的圖,9英寸寬和A4長(zhǎng)寬比的幻燈片 (append=T,追加)
graph2ppt(file="ggplot2_plot.pptx", width=9, aspectr=sqrt(2), append=TRUE)
添加相同圖形的第三張幻燈片,寬度和高度固定
graph2ppt(file="ggplot2_plot.pptx", width=6, height=5, append=TRUE)
禁用矢量化圖像導(dǎo)出
graph2ppt(x=x, file=filen, vector.graphic=FALSE, width=9, aspectr=sqrt(2), append=TRUE)
用圖填滿幻燈片
graph2ppt(x=x, file=filen, margins=0, upscale=TRUE, append=TRUE)
函數(shù)參數(shù)解釋
graph2vector(x=NULL, file="Rplot", fun=NULL, type="SVG",aspectr=NULL,
width=NULL, height=NULL, scaling=100,
font=ifelse(Sys.info()["sysname"]=="Windows",
"Arial","Helvetica")[[1]], bg="white", colormodel="rgb",
cairo=TRUE,fallback_resolution=600, ...)
#需運(yùn)行上面的ggplot2繪圖
# Create a file name
filen <- "output_filename" # or
# filen <- paste("YOUR_DIR/ggplot")
# There are 3 ways to use graph2vector():
### 1. Pass the plot as an object
# 導(dǎo)出圖形對(duì)象
graph2svg(x=x, file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
graph2pdf(x=x, file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2eps(x=x, file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
# 導(dǎo)出當(dāng)前預(yù)覽窗口呈現(xiàn)的圖
### 2. Get the plot from current screen device
x
graph2svg(file=filen, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2pdf(file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
graph2eps(file=filen, aspectr=2, font="Times New Roman",
height=5, bg="white")
# 導(dǎo)出自定義函數(shù)輸出的一系列圖
### 3. Pass the plot as a function
graph2svg(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2pdf(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
graph2eps(file=filen, fun=plot.fun, aspectr=2, font="Arial",
height=5, bg="transparent")
rgl2png: 將當(dāng)前的rgl 3D圖形保存為PNG格式。
rgl2bitmap(file="Rplot", type=c("PNG"))
# Create a file name
filen <- tempfile("rgl") # or
# filen <- paste("YOUR_DIR/rgl")
# Generate a 3D plot using 'rgl'
x=y=seq(-10, 10, length=20)
z=outer(x, y, function(x, y) x^2 + y^2)
rgl::persp3d(x, y, z, col='lightblue')
# Save the plot as a png
rgl2png(file=filen)
# Note that omitting 'file' will save in current directory
生成的3D圖形:
將生成的3D圖形保存為PNG格式:
table2spreadsheet(x=NULL, file="Rtable", type=c("XLS", "CSV",
"CSV2"), append=FALSE, sheetName="new sheet", digits=2,
digitspvals=2, trim.pval=TRUE, add.rownames=FALSE, ...)
# Create a file name
filen <- "table_aov" # or
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
x=summary(fit)
# Save ANOVA table as a CSV
### Option 1: pass output as object
# 輸出對(duì)象
table2csv(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
# 屏幕輸出導(dǎo)出到文件
### Option 2: get output from console
summary(fit)
table2csv(file=filen, digits=2, digitspvals=4, add.rownames=TRUE)
# Save ANOVA table as an Excel
# Without formatting of the worksheet
x
table2excel(file=filen, sheetName="aov_noformatting", digits=1, digitspvals=3, add.rownames=TRUE)
# 更多參數(shù)
# With formatting of the worksheet
table2excel(x=x,file=filen, sheetName="aov_formated", append=TRUE, add.rownames=TRUE, fontName="Arial", fontSize=14, fontColour=rgb(0.15,0.3,0.75), border=c("top", "bottom"), fgFill=rgb(0.9,0.9,0.9), halign="center", valign="center", textDecoration="italic")
原始數(shù)據(jù)的表格:
轉(zhuǎn)換格式之后的,在console中的數(shù)據(jù):
文件(csv和excel)中表格數(shù)據(jù):
table2ppt: 導(dǎo)出統(tǒng)計(jì)輸出到Microsoft Office PowerPoint/ LibreOffice Impress演示文稿中的表
table2doc: 將統(tǒng)計(jì)輸出導(dǎo)出到Microsoft Office Word/ LibreOffice Writer文檔中的表
table2office(x=NULL, file="Rtable", type=c("PPT", "DOC"),
append=FALSE, digits=2, digitspvals=2, trim.pval=TRUE,
width=NULL, height=NULL, offx=1, offy=1,
font=ifelse(Sys.info()["sysname"]=="Windows", "Arial",
"Helvetica")[[1]], pointsize=12, add.rownames=FALSE)
# Create a file name
filen <- "table_aov"
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
# Save ANOVA table as a PPT
### Option 1: pass output as object
x=summary(fit)
table2ppt(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
### Option 2: get output from console
summary(fit)
table2ppt(x=x,file=filen, width=5, font="Times New Roman", pointsize=14, digits=4, digitspvals=1, append=TRUE, add.rownames=TRUE) # append table to previous slide
# Save ANOVA table as a DOC file
table2doc(x=x,file=filen, digits=1, digitspvals=3, add.rownames=TRUE)
summary(fit)
table2doc(file=filen, width=3.5, font="Times New Roman", pointsize=14, digits=4, digitspvals=1, append=TRUE, add.rownames=TRUE) # append table at end of document
將表格數(shù)據(jù)導(dǎo)出到ppt和word中:
table2html: 導(dǎo)出統(tǒng)計(jì)輸出到HTML表。
table2tex(x=NULL, file="Rtable", type="TEX", digits=2,
digitspvals=2, trim.pval=TRUE, summary=FALSE, standAlone=TRUE,
add.rownames=FALSE, ...)
summary:是否匯總數(shù)據(jù)文件。
standAlone:導(dǎo)出的Latex代碼應(yīng)該是獨(dú)立可編譯的,還是應(yīng)該粘貼到另一個(gè)文檔中。
add.rownames:是否應(yīng)該將行名添加到表中(在第一列之前插入一列)。
# Create a file name
filen <- tempfile(pattern="table_aov") # or
# filen <- paste("YOUR_DIR/table_aov")
# Generate ANOVA output
fit=aov(yield ~ block + N * P + K, data=npk) # 'npk' dataset from base 'datasets'
x=summary(fit)
# Export to Latex in standAlone format
table2tex(x=x,file=filen,add.rownames=TRUE)
# Export to Latex to paste in tex document
summary(fit) # get output from the console
table2tex(file=filen, standAlone=FALSE,add.rownames=TRUE)
# Export to HTML
table2html(x=x,file=filen) # or
summary(fit) # get output from the console
table2html(file=filen,add.rownames=TRUE)
導(dǎo)出到html或tex中的表格數(shù)據(jù):
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。