html中有没有类似excel表格,可以填数的表格控件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html中有没有类似excel表格,可以填数的表格控件?相关的知识,希望对你有一定的参考价值。

我想在网页中用表格填数,提交。请问,有没有这样类似excel表格的控件呢?怎样实现那种功能呢?
我是想在网页中加入excel表格的效果。可以填表,然后提交。

参考技术A 没有啦,excel是专门处理数据的工具,网页主要要实现的功能是浏览。 参考技术B 这样就需要网络编程了。当然,也有别人做好的程序,可以修改一下用。而且你还要有你自己的网站。总之,比EXCEL麻烦多了。
如果只是在局域网里用,就简单多了。
参考技术C html是静态的,ASP是动态的,后者才可以 参考技术D <table border="2"//设置边框大小>
<tr //行>
<td //列>111</td>
</tr>……
</table>

如何构建具有特定行数的表格视图?

【中文标题】如何构建具有特定行数的表格视图?【英文标题】:How to build a Table View with specific number of rows? 【发布时间】:2018-01-11 11:33:30 【问题描述】:

我一直在阅读类似的问题,直到现在都没有解决这个错误,或者我还没有找到它。

我有一个 TableView,我需要表格有特定的行数。

现在它可以处理来自数组的通知计数。在这个数组中,我保留了来自服务器的通知。 但我希望如果这个数组计数大于 40,则行数为 40,它们不是数组的计数。

这是我的代码:

class ClassName: UITableViewController, UITabBarControllerDelegate 
    public var notifications: [APINotification] = []

    override func viewDidLoad() 
        super.viewDidLoad()

        self.tabBarController?.delegate = self
        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.estimatedRowHeight = 140
    

    override func didReceiveMemoryWarning() 
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    

    override func viewDidAppear(_ animated: Bool) 
        self.notifications = []
        self.getLastNotifications()
        APIAuth.shared.count_badge = 0
        self.tabBarController?.tabBar.items![0].badgeValue = nil
    

    public func getLastNotifications() 
        let req = Notification()
        req.getLastNotifications(onComplete: events in
            self.notifications = events

            DispatchQueue.main.async(execute: 
                self.tableView.reloadData()
            )
        )
    

    override func numberOfSections(in tableView: UITableView) -> Int 
        return self.notifications.count
     

    // There is just one row in every section
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
        return 1
    

    // Set the spacing between sections
    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat 
        return 10
    

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

        let event = self.notifications[indexPath.section]
        let cell = tableView.dequeueReusableCell(withIdentifier: "controller", for: indexPath) as! Controller

        cell.bodyLbl.text = event.description
        cell.typelbl.text = event.type
        cell.typelbl.sizeToFit()
        cell.titleLbl.text = event.title
        cell.subjectLbl.text = event.subject?.name

        return cell
     

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您可以将此方法更改为:

override func numberOfSections(in tableView: UITableView) -> Int 
    return self.notifications.count > 40 ? 40 : self.notifications.count

这将显示与您从通知中获得的行数一样多的行,但如果它大于 40,它将仅显示 40。要使其始终显示 40,只需将 return 40 改为,但这可能会使您的应用程序崩溃,数组将包含少于 40 个的项目。

Ps 你显示 40 个部分,没有行将其更改为行,而是你需要机会你的代码:

override func numberOfSections(in tableView: UITableView) -> Int 
    return 1


override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    return self.notifications.count > 40 ? 40 : self.notifications.count


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 

    let event = self.notifications[indexPath.row]
    ...

【讨论】:

谢谢,完美!我有个疑问。您的代码和此代码有什么区别:覆盖 func numberOfSections (in tableView: UITableView) -> Int var count = self.notifications.count if (count> 4) count = 4 return down ?什么是正确的解决方案,或者可以像这两种形式那样做? 没有区别,我相信编译器的输出在两个例子中都是一样的。有多种方法可以达到类似的结果。有关更多选项,请参阅@Upholder Of Truth 答案。所有这些都会给你相同的结果。【参考方案2】:

有几种方法可以实现这一点:

    简单明了:

    return min(self.notifications.count, 40)
    

    一种快速的方法:

    guard self.notifications.count < 40 else 
        return 40
    
    
    return self.notifications.count
    

    另一个更详细的版本:

    return self.notifications.count < 40 ? self.notifications.count
    

    另一个更简单的版本:

    if self.notifications.count > 40 
        return 40
     else 
        return self.notifications.count
    
    

使用您认为最适合目的的版本。

如果我觉得自己很 Swifty(甚至是一个词),我可能会选择 1 或 2。

【讨论】:

感谢您在回复中提供的多个选项。它们对我很有用。【参考方案3】:

试试下面的代码:

// There is just one row in every section
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    if self.notifications.count > 40
         return 40
    
    return self.notifications.count

【讨论】:

【参考方案4】:

要限制最大节数,只需检查数组大小:

override func numberOfSections(in tableView: UITableView) -> Int 
    var count = self.notifications.count
    if (count > 40) 
        count = 40
    
    return count
 

【讨论】:

以上是关于html中有没有类似excel表格,可以填数的表格控件?的主要内容,如果未能解决你的问题,请参考以下文章

使用CSS对HTML表单进行修饰,效果与excel表格类似,可以输入数据。

excel表格计算列数的公式

TRUNC 函数 在电子表格中怎么应用?是啥意思

excel表右下角不显示求和数

excel表格中如何把相同一个数值后所对应的所有列数的特定值找出来?解决问题采纳+6元红包

谁能帮我用excel的格子拼出来一只马的形状?类似于像素图...可以追加悬赏